Приветствую!
Пишу демо-прогу, соответственно требуется загрузка файла с дискеты (TRDOS), помогите с процедурой.
Гружу 60К файл 15-ю кусками по 4К и копирую их в свой видеоконтроллер (запись в область ПЗУ 0..4095).Код:;------------------------------------------------- ; LOADFILEMEM - load 60K "file5" file to GPU RAM ;------------------------------------------------- LOADFILEMEM: push af push bc push de push hl ; ld hl,Name ld c,13h call GPUDISABLE call 3d13h call GPUENABLE xor a LOADFILEMEM1: ld (sMP),a inc a push af ; xor a ld (5cf9h),a ld c,0eh ld a,3 ld de,1000h ld hl,0c000h call GPUDISABLE call 3d13h ; <-------получаю noncence in basic call GPUENABLE ; ld hl,0c000h ld de,0 ld bc,1000h ldir ; pop af cp a,15 jp nz,LOADFILEMEM1 ; pop hl pop de pop bc pop af ret ; Name defm "file5 C"
Исходник брал из книги Поморцева про TRDOS. Раньше в TRD0S не программировал, где ошибка, непонятно.
TRD-шку прилагаю. Тестил на реале и в UnrealSpeccy.




ZXM-Phoenix rev.01 2048K, VG93 hw emulator
Ответить с цитированием

