Запгрузил первую игру с флешки. Сначала 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, что бы скомпилировать его под Апогей? И где есть интересный софт?