From d0fa061800e44deb53a018a56e6533fefbb58dd6 Mon Sep 17 00:00:00 2001 From: Anatoliy Belyanskiy Date: Sat, 5 Aug 2023 22:09:29 +1000 Subject: [PATCH] ref --- src/bios/exp/EXTENDED/CD_DRIVER_0.asm | 2 +- src/bios/exp/FUNC_LOW_PRINT.ASM | 130 ++++++++++++++------------ 2 files changed, 71 insertions(+), 61 deletions(-) diff --git a/src/bios/exp/EXTENDED/CD_DRIVER_0.asm b/src/bios/exp/EXTENDED/CD_DRIVER_0.asm index 06b4496..78b71ce 100644 --- a/src/bios/exp/EXTENDED/CD_DRIVER_0.asm +++ b/src/bios/exp/EXTENDED/CD_DRIVER_0.asm @@ -6,7 +6,7 @@ ;--------------------------------------------------------------- ;======================================================== SIZESEC EQU #0800 -PKTSIZE EQU 13 +PKTSIZE EQU 12 RAM_ATAPI_PK EQU SYS_PAGE.SHARED_BUFFER_32b RAM_ATAPI_READ EQU SYS_PAGE.SHARED_BUFFER_32b+16 diff --git a/src/bios/exp/FUNC_LOW_PRINT.ASM b/src/bios/exp/FUNC_LOW_PRINT.ASM index 16103e6..e3b4fef 100644 --- a/src/bios/exp/FUNC_LOW_PRINT.ASM +++ b/src/bios/exp/FUNC_LOW_PRINT.ASM @@ -180,8 +180,9 @@ LP_PRINT_AL1: LD A,SYS_PAGE OUT (SLOT3),A - CALL LP_END_P - RET + JP LP_END_P + ;CALL LP_END_P + ;RET LP_PRINT_SYM: CALL LP_BEG_P @@ -207,8 +208,9 @@ LP_PRINT_SY1: LD A,SYS_PAGE OUT (SLOT3),A - CALL LP_END_P - RET + JP LP_END_P + ;CALL LP_END_P + ;RET LP_PRINT_ATR: CALL LP_BEG_P @@ -240,9 +242,9 @@ LP_PRINT_AT1: LD A,SYS_PAGE OUT (SLOT3),A - CALL LP_END_P - RET - + JP LP_END_P + ;CALL LP_END_P + ;RET LP_PRINT_LINE: CALL LP_BEG_P @@ -281,8 +283,9 @@ LP_PRINT_LN1: LD A,SYS_PAGE OUT (SLOT3),A - CALL LP_END_P - RET + JP LP_END_P + ;CALL LP_END_P + ;RET LP_PRINT_LINE2: @@ -312,8 +315,9 @@ LP_PRINT_LN2: LD A,SYS_PAGE OUT (SLOT3),A - CALL LP_END_P - RET + JP LP_END_P + ;CALL LP_END_P + ;RET LP_PRINT_LINE3: CALL LP_BEG_P @@ -359,8 +363,9 @@ LP_PR_L31: LD A,SYS_PAGE OUT (SLOT3),A - CALL LP_END_P - RET + JP LP_END_P + ;CALL LP_END_P + ;RET LP_PRINT_LINE4: @@ -402,8 +407,9 @@ LP_PR_L41: LD A,SYS_PAGE OUT (SLOT3),A - CALL LP_END_P - RET + JP LP_END_P + ;CALL LP_END_P + ;RET LP_PRINT_LINE5: @@ -449,8 +455,9 @@ LP_PRINT_LN5: LP_PR_L51: LD A,SYS_PAGE OUT (SLOT3),A - CALL LP_END_P - RET + JP LP_END_P + ;CALL LP_END_P + ;RET LP_PRINT_LINE6: CALL LP_BEG_P @@ -488,8 +495,9 @@ LP_PRINT_LN6: LP_PR_L61: LD A,SYS_PAGE OUT (SLOT3),A - CALL LP_END_P - RET + JP LP_END_P + ;CALL LP_END_P + ;RET LP_PRINT_LINE_DIR: @@ -546,8 +554,9 @@ LP_PRINT_LN_D1: LP_LN_DD1: LD A,SYS_PAGE OUT (SLOT3),A - CALL LP_END_P - RET + JP LP_END_P + ;CALL LP_END_P + ;RET LP_PRINT_LN_D11: LD A,#50 @@ -641,8 +650,9 @@ LP_SET_PLACE: ; !!!!! CALL LP_BEG_P CALL LP_AT_D CALL LP_TAB_E - CALL LP_END_P - RET + JP LP_END_P + ;CALL LP_END_P + ;RET LP_GET_PLACE: CALL LP_BEG_P @@ -650,23 +660,26 @@ LP_GET_PLACE: LD A,(SYS_PAGE.WIN_MAP_IX+WIN_H_BEG) NEG EXX - ADD A,D + ADD A,D EXX LD E,A LD A,(SYS_PAGE.WIN_MAP_IX+WIN_V_BEG) NEG EXX - ADD A,L - DEC A + ADD A,L + DEC A EXX RRCA RRCA AND #3F LD D,A - - CALL LP_END_P - RET + ;!TEST cursor + JP LP_END_P2 + ;CALL LP_END_P2 + ;AND A + ;RET + ; ;********************************************* @@ -722,8 +735,9 @@ LP_CLS_L1: CALL LP_AT_D CALL LP_TAB_E - CALL LP_END_P - RET + JP LP_END_P + ;CALL LP_END_P + ;RET ;******************************************************* ; @@ -732,7 +746,6 @@ LP_CLS_L1: ; 1 - ver size ; 2 - hor place ; 3 - ver place - LP_SIZE: ; определение size LP_OPEN_PG LD DE,(SYS_PAGE.WIN_MAP_IX+WIN_SIZE_H) @@ -843,14 +856,14 @@ LP_NEXT_HL1: LP_BEG_P: EX AF,AF' EXX - LP_OPEN_PG - LD HL,(SYS_PAGE.WIN_MAP_IX+WIN_HL) - LD DE,(SYS_PAGE.WIN_MAP_IX+WIN_DE) - LD BC,(SYS_PAGE.WIN_MAP_IX+WIN_BC) - LD A,E - AND A - RRA - OUT (PORT_Y),A + LP_OPEN_PG + LD HL,(SYS_PAGE.WIN_MAP_IX+WIN_HL) + LD DE,(SYS_PAGE.WIN_MAP_IX+WIN_DE) + LD BC,(SYS_PAGE.WIN_MAP_IX+WIN_BC) + LD A,E + AND A + RRA + OUT (PORT_Y),A EXX EX AF,AF' RET @@ -935,7 +948,6 @@ LP_INI_L1: EX AF,AF' LD A,(SYS_PAGE.COPY_SLOT1) OUT (SLOT1),A - RET LP_INI_P: @@ -996,13 +1008,12 @@ LP_INI_40: LP_END_P: ; !!!!! ожидается, что портятся только альтернативные регистры и те, что как параметры на входе EX AF,AF' EXX - RLA - LD E,A - LD (SYS_PAGE.WIN_MAP_IX+WIN_HL),HL ; место печати - LD (SYS_PAGE.WIN_MAP_IX+WIN_DE),DE - LD (SYS_PAGE.WIN_MAP_IX+WIN_BC),BC - - LP_CLOSE_PG + RLA + LD E,A + LD (SYS_PAGE.WIN_MAP_IX+WIN_HL),HL ; место печати + LD (SYS_PAGE.WIN_MAP_IX+WIN_DE),DE + LD (SYS_PAGE.WIN_MAP_IX+WIN_BC),BC + LP_CLOSE_PG EXX EX AF,AF' AND A @@ -1014,6 +1025,7 @@ LP_END_P2: LP_CLOSE_PG EXX EX AF,AF' + AND A RET ;******************************************************** @@ -1325,7 +1337,6 @@ LP_EXIT_MODE: LD A,SYS_PAGE OUT (SLOT3),A EX AF,AF' - RET ; Установка режима на линии @@ -1425,7 +1436,6 @@ LP_EXIT_MODE2: LD (IX+WIN_WORK_1),B LD (IX+WIN_WORK_2),A - RET @@ -1532,7 +1542,6 @@ LP_EXIT_MODE3: LD A,(IX+WIN_WORK_1) ADD A,8 LD (IX+WIN_WORK_1),A - RET LP_GR_640: @@ -1819,8 +1828,9 @@ WIN_PUT_SYM: LD A,SYS_PAGE OUT (SLOT3),A - CALL LP_END_P - RET + JP LP_END_P + ;CALL LP_END_P + ;RET ; HL - размер окна ; DE - положение окна @@ -1916,9 +1926,9 @@ WIN_COPY_WIN1: POP AF OUT (SLOT1),A - CALL LP_END_P2 - AND A - RET + JP LP_END_P2 + ;AND A + ;RET ; HL - размер сохраняемого окна @@ -1985,10 +1995,10 @@ LP_REST_L1: POP AF OUT (SLOT1),A - - CALL LP_END_P2 - AND A - RET + JP LP_END_P2 + ;CALL LP_END_P2 + ;AND A + ;RET