Приветствую!
Пишу демо-прогу, соответственно требуется загрузка файла с дискеты (TRDOS), помогите с процедурой.
Код:
;-------------------------------------------------
; 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"
Гружу 60К файл 15-ю кусками по 4К и копирую их в свой видеоконтроллер (запись в область ПЗУ 0..4095).
Исходник брал из книги Поморцева про TRDOS. Раньше в TRD0S не программировал, где ошибка, непонятно.
TRD-шку прилагаю. Тестил на реале и в UnrealSpeccy.