diff --git a/src/bios/exp/FUNC_LOW_PRINT.ASM b/src/bios/exp/FUNC_LOW_PRINT.ASM index 976831c..e32c884 100644 --- a/src/bios/exp/FUNC_LOW_PRINT.ASM +++ b/src/bios/exp/FUNC_LOW_PRINT.ASM @@ -1585,10 +1585,6 @@ LP_SCROLL_UD: JR Z,LP_SCROLL_UP DEC B JR Z,LP_SCROLL_DN -; DEC B -; JR Z,LP_SCROLL_UP2 -; DEC B -; JR Z,LP_SCROLL_DN2 SCF RET @@ -1596,7 +1592,7 @@ LP_SCROLL_UD: ; D - верхняя строка ( от 0 ) ; E - число скроллируемых строк LP_SCROLL_UP: - DEC E + DEC E ;!FIXIT правильно? RET Z LP_OPEN_PG @@ -1606,9 +1602,7 @@ LP_SCROLL_UP: CALL LP_AT_D CALL LP_TAB_E ; вычислить переменные для строки POP BC - -LP_SCROLL_L2: - EXX +.loop2: EXX PUSH HL EXX POP HL @@ -1622,8 +1616,7 @@ LP_SCROLL_L2: LD A,(SYS_PAGE.WIN_MAP_IX+WIN_V_END) CP L - JR C,LP_SCROLL_U_EXIT ; если конец, то выход - + JR C,.EXIT ; если конец, то выход PUSH BC LD A,L @@ -1632,7 +1625,6 @@ LP_SCROLL_L2: EXX LD A,(SYS_PAGE.WIN_MAP_IX+WIN_SIZE_H) - ADD A,A ; число байт в строке для переноса ADD A,A @@ -1644,10 +1636,7 @@ LP_SCROLL_L2: EXX LD A,D ; получить порт начала строки EXX - - -LP_SCROLL_L1: - OUT (RGADR),A +.loop1: OUT (RGADR),A INC A ; следующее значение порта LDI LDD @@ -1655,25 +1644,21 @@ LP_SCROLL_L1: INC A ; следующее значение порта LDI LDD - JP PE,LP_SCROLL_L1 + JP PE,.loop1 LD A,SYS_PAGE OUT (SLOT3),A POP BC - - DJNZ LP_SCROLL_L2 - -LP_SCROLL_U_EXIT: - - LP_CLOSE_PG + DJNZ .loop2 +.EXIT: LP_CLOSE_PG RET ; Вход : ; D - верхняя строка ( от 0 ) ; E - число скроллируемых строк LP_SCROLL_DN: - DEC E + DEC E ;!FIXIT правильно? RET Z LP_OPEN_PG @@ -1688,11 +1673,7 @@ LP_SCROLL_DN: CALL LP_TAB_E POP BC - -LP_SCROLL_D2: - - - EXX +.loop2: EXX PUSH HL EXX POP HL @@ -1705,13 +1686,10 @@ LP_SCROLL_D2: DEC L LD A,(SYS_PAGE.WIN_MAP_IX+WIN_V_BEG) - CP L - JR Z,LP_SCROLL_U_CONT - JR NC,LP_SCROLL_U_EXIT ; если конец, то выход - -LP_SCROLL_U_CONT: - - PUSH BC + CP L ; .CONT: L >= A + JR Z,.CONT + JR NC,.EXIT ; если конец, то выход +.CONT: PUSH BC LD A,L EXX @@ -1729,10 +1707,7 @@ LP_SCROLL_U_CONT: EXX LD A,D EXX - - -LP_SCROLL_D1: - OUT (RGADR),A +.loop1: OUT (RGADR),A INC A LDI LDD @@ -1740,17 +1715,14 @@ LP_SCROLL_D1: INC A LDI LDD - JP PE,LP_SCROLL_D1 + JP PE,.loop1 LD A,SYS_PAGE OUT (SLOT3),A POP BC - DJNZ LP_SCROLL_D2 - -LP_SCROLL_D_EXIT: - - LP_CLOSE_PG + DJNZ .loop2 +.EXIT: LP_CLOSE_PG RET