; общая процедура выхода. ; в A поместить код возврата. ; Если была ошибка, то лучше -1 (255) ; Если ошибки небыло, то 0. quit0: pop ix ld b,a ld c,quit rst 10h jp $ ; заглушка ;-[]------------------------------------------------------------ ; misc procedures and functions... ;--------------------------------------------------------------- open: ld a,1 ld c,fopen rst 10h ret close: ld c,fclose rst 10h ret read: ld c,fread rst 10h ret ;dir_ret: ld hl,cur_dir ; ld c,chdir ; rst 10h ; ret gmem: ld c,getmem ld b,1 rst 10h ret ; процедура сохранения страницы в указнном окне. ; C = окно (порт) ; HL = куда сохранять. save_pg: in a,(c) ld (hl),a ret ; процедура восстановления страницы в указнном окне. ; C = окно (порт) ; HL = от куда восстановить. restore_pg: ld a,(hl) out (c),a ret ; обработка ошибки открытия файла open_err: ld hl,open_err_str ld c,pchars rst 10h .err_file: ld hl,0 ld c,pchars rst 10h ld hl,crlf0 ld c,pchars rst 10h ld a,-1 jp quit0 ; обработка ошибки чтения файла rd_err: ld hl,read_err_str ld c,pchars rst 10h .err_file: ld hl,0 ld c,pchars rst 10h ld hl,crlf0 ld c,pchars rst 10h ld a,-1 jp quit0 ; обработка ошибки запроса памяти gmem_err: ld hl,gmem_err_str ld c,pchars rst 10h ld a,-1 jp quit0 ; обработка ошибки открытия видеорежима vm_err: ld hl,vm_err_str ld c,pchars rst 10h jp quit0 IFDEF debug debug_print: ld c,pchars rst 10h ret ENDIF ; обработка ошибкок токенов ;tok_err: ; ld hl,token_err_str ; ld c,pchars ; rst 10h ;.token_ptr: ld hl,0 ; ld c,pchars ; rst 10h ; ld hl,crlf0 ; ld c,pchars ; rst 10h ; ld a,-1 ; jp quit0