Запгрузил первую игру с флешки. Сначала ATMega8 читает с флешки файл /Loader, который Апогей потом получает по команде R0,100.
А этот загрузчик (код которого ниже), загружает файл /BOOT. В этом файле будет меню, а пока я под этим именем сохранил игру.
Код:; 8-09-2012 (c) vinxru
device zxspectrum48
begin: ld hl, 0EE01h
; Начало любой команды
ld (hl), 0
ld (hl), 0F7h
ld (hl), 0F5h
ld (hl), 0F1h
ld (hl), 0E1h
; Команда 0 BOOT
ld (hl), 0E0h
ld (hl), 0E1h
; Код ошибки
call recvByte
cp 0
jp nz, 0F800h
; Длина файла
call recvByte
ld c, a
call recvByte
ld b, a
; Первое слово в файле - адрес
call recvByte
ld d, a
call recvByte
ld e, a
; Автозапуск
push de
; Второе слово в файле пропускаем
call recvByte
call recvByte
; Корректируем длину
dec bc
dec bc
dec bc
dec bc
; Прием файла
l: call recvByte
ld (de), a
inc de
dec bc
ld a, b
or c
jp nz, l
; Код ошибки
call recvByte
cp 0FAh
jp nz, 0F800h
; Автозапуск
ret
;-------------------------------------------------------------------------------
recvByte: ; Когда устройство будет готово передать байт, оно вернет 1
ld a, (0EE00h)
dec a
jp nz, recvByte
; Дай байт
ld (hl), 0C1h
; Читаем байт
ld a, (0EE00h)
; Байт принят
ld (hl), 0E1h
ret
---------- Post added at 20:13 ---------- Previous post was at 19:26 ----------
Где лучше взять CP/M, что бы скомпилировать его под Апогей? И где есть интересный софт?

