Качаем, распаковываем (например, в папку D:\BK_v3_13).
Сохраняем код в "dragon.asm".
Из командной строки из папки где лежит файл "dragon.asm" вызываем "D:\BK_v3_13\BKTurbo8\BKTurbo8_x64.exe -l CO dragon.asm". Будет создан "dragon.bin".
Запускаем эмулятор и выбираем в меню "Конфигурация" пункт "Старт БК 0010-01" (если не выбран).
Выходим из Бейсика в Монитор, для этого набираем английскими буквами без кавычек: "MO" [ENTER], после знака вопроса набираем "M" [ENTER], появится запрос имени, тут просто [ENTER], появится диалоговое окно с выбором файла, находим "dragon.bin", нажимаем "Open", файл загрузится в память и появится знак вопроса, и наконец запускаем: "S" [ENTER].
P.S. Никак не мог отформатировать, пытался несколько раз, превью не работало, показывало всплывашку "Запрос уже был обработан", и кнопки Отправить и Предпросмотр не работали.
Для этого использовал кросс-ассемблер который есть в поставке эмулятора https://gid.pdp-11.ru/bkemu.html.
Качаем, распаковываем (например, в папку D:\BK_v3_13).
Сохраняем код в "dragon.asm".
Из командной строки из папки где лежит файл "dragon.asm" вызываем "D:\BK_v3_13\BKTurbo8\BKTurbo8_x64.exe -l CO dragon.asm". Будет создан "dragon.bin".
Запускаем эмулятор и выбираем в меню "Конфигурация" пункт "Старт БК 0010-01" (если не выбран).
Выходим из Бейсика в Монитор, для этого набираем английскими буквами без кавычек: "MO" [ENTER], после знака вопроса набираем "M" [ENTER], появится запрос имени, тут просто [ENTER], появится диалоговое окно с выбором файла, находим "dragon.bin", нажимаем "Open", файл загрузится в память и появится знак вопроса, и наконец запускаем: "S" [ENTER].
Скорость можно повысить в меню "Управление".
Прочитал про эту статью в телеграм канале @dlinyj и по его совету публикую мою реализацию для БК0010:
.org 1000
start:
clr r0
clr r1
clr r2
clr r3
0loop:
add r0, 0x10
tst r3
beq 1
inc r0
1:
clr r3
cmp #377, r0
ble 2
inc r3
2:
bic #177400, r0
sub r1, r2
tst r3
beq 3
inc r2
3:
clr r3
bit #1, r2
beq 4
inc r3
4:
asr r2
tst r3
beq 5
add #400, r2
5:
clr r3
add r2, r1
bcc 6
inc r3
6:
push r1
push r2
asr r1
asr r1
asr r2
asr r2
add #100, r1
add #200, r2
call draw_point
pop r2
pop r1
br 0loop
draw_point:
push r0
push r1
push r2
push r3
push r4
mov #177400, r3
bic r3, r1
bic r3, r2
movb #0b11111100, r3
bicb r3, r0
asl r0
asl r0
mov r1, r4
bicb r3, r4
add r4, r0
movb dp_color(r0), r0
movb dp_mask(r4), r4
asr r1
asr r1
swab r2
ror r2
ror r2
add #40000, r1
add r2, r1
movb (r1), r3
bicb r4, r3
bisb r0, r3
movb r3, (r1)
pop r4
pop r3
pop r2
pop r1
pop r0
ret
dp_color:
.byte 0b00000000
.byte 0b00000000
.byte 0b00000000
.byte 0b00000000
.byte 0b00000001
.byte 0b00000100
.byte 0b00010000
.byte 0b01000000
.byte 0b00000010
.byte 0b00001000
.byte 0b00100000
.byte 0b10000000
dp_mask:
.byte 0b00000011
.byte 0b00001100
.byte 0b00110000
.byte 0b11000000
.end
P.S. Никак не мог отформатировать, пытался несколько раз, превью не работало, показывало всплывашку "Запрос уже был обработан", и кнопки Отправить и Предпросмотр не работали.