; Функция выхода в ДОС ; Exit: ; вкл. режим 1.44Mb call set_1440 ; восст. cga-палитру ld bc,03A6h ld a,0 RST ToBIOS ; восст. экран call RestScreen ; восст. полож. курсора сист. экрана sys_cursor_coords+1: ld de,0 LD C,BIOS.LP_SET_PLACE RST ToBIOS ; восст. сист. диск и путь ;call RestPath ;!FIXIT ld hl,#6200 ;!HARDCODE ld c,Dss.ChDir RST ToDSS ; очистить буфер клавы ld bc,3135h rst 0x10 ; освоб. выделенный блок памяти ; ld a,(hBlock) ; ld c,3Eh ; rst 0x10 ; jr nc,quit ; ld hl,NoFree ; call Print ; ld b,-1 ; код ошибки ; jr quit1 quit: ld b,0 quit1: ld c,41h ; выйти в Estex rst 0x10 ret ; Вывод строки на экран Print: ld c,5Ch rst 0x10 ret ; Восст. экран RestScreen: ld c,0B3h jr _skrn ; Сохранить экран SaveScreen: ld c,BIOS.WIN_COPY ; копир. из буфера в окно _skrn: di ld ix,WinBoxBuff ; Address Box buffers ld hl,2050h ; Y/X размер окна ld de,0000h ; Y/X полож. окна ld a,(hPages.Win1) ; Page buffer ld b,a xor a RST ToBIOS ei ret