From 0c166ec49dc21eda668c45faa3bce875efd3e0c3 Mon Sep 17 00:00:00 2001 From: Anatoliy Belyanskiy Date: Wed, 30 Aug 2023 22:39:07 +1000 Subject: [PATCH] tst --- Shared_Includes | 2 +- src/bios/exp/EXP_DCP2.txt | 130 ------------------------- src/bios/exp/EXTENDED/CD_DRIVER_0.asm | 6 +- src/bios/exp/EXTENDED/HDD_DRIVER_6.asm | 2 +- src/bios/exp/FUNC_4x.ASM | 12 +-- src/bios/exp/FUNC_LOW_PRINT.ASM | 16 +-- src/bios/rom/SETUP/AUTOIDE.asm | 106 ++++++++++++++++---- src/bios/rom/SETUP/MAIN.asm | 87 ++++++++++++----- src/bios/rom/SETUP/SETTINGS.asm | 39 ++++---- 9 files changed, 186 insertions(+), 214 deletions(-) delete mode 100644 src/bios/exp/EXP_DCP2.txt diff --git a/Shared_Includes b/Shared_Includes index 5aa6fff..cc23cc9 160000 --- a/Shared_Includes +++ b/Shared_Includes @@ -1 +1 @@ -Subproject commit 5aa6ffff2b5879e26a8ccf0925c18223c76da539 +Subproject commit cc23cc96bb8bb12432622cc688b2e1afe39c6105 diff --git a/src/bios/exp/EXP_DCP2.txt b/src/bios/exp/EXP_DCP2.txt deleted file mode 100644 index 9f69774..0000000 --- a/src/bios/exp/EXP_DCP2.txt +++ /dev/null @@ -1,130 +0,0 @@ -6E 0000.00 0110 1110 -7E 0000.00 0111 1110 -EE 0000.00 1110 1110 -FE 0000.00 1111 1110 -16E 0000.01 0110 1110 -17E 0000.01 0111 1110 -1EE 0000.01 1110 1110 -1FE 0000.01 1111 1110 - -and 0000.00 0110 1110 -or 0000.01 1111 1110 -notAnd 0011.11 1001 0001 -xor^ 0011.10 0110 1111 - - -; DATA FOR DCP -; вбиваем в таблицу DCP.XLSX нужный внешний порт, -; смотрим смещение для OUT (С),x - это адрес -; -; CCED/AAAAAAAAA -; NN1OW116517210 -; FF2SR54 3 -; CC EDWA AAAA AAAA -; NN 1O/1 1651 7210 -; FF 2SR5 4 3 -; 10 8 - -and 00 0000 0000 0111 - a1 -or 11 1011 1001 0111 - o1 -not a1 11 1111 1111 1000 - n1 -n1 xor o1 00 0110 0110 1111 - -#10 ALTERA #1F external -; CS_WG93_1F ...0...00.0111 - DW %00 0000 0000 0111 ; - адрес - DW %00 0100 0110 1111 ; - маска - 0 изменяемые биты, 1 неизменяемые - DB #10 ; - порт - - - -Altera #16 - 2D 00 0000 0010 1101 - 82D 00 1000 0010 1101 -302D 11 0000 0010 1101 -342D 11 0100 0010 1101 -382D 11 1000 0010 1101 -3C2D 11 1100 0010 1101 - -and 00 0000 0010 1101 - a1 adress -or 11 1100 0010 1101 - o1 -not a1 11 1111 1101 0010 - n1 -n1 xor o1 00 0011 1111 1111 mask - -Altera #17 - 3D 00 0000 0011 1101 - 83D 00 1000 0011 1101 -303D 11 0000 0011 1101 -343D 11 0100 0011 1101 -383D 11 1000 0011 1101 -3C3D 11 1100 0011 1101 - -and 00 0000 0011 1101 - a1 adress -or 11 1100 0011 1101 - o1 -not a1 11 1111 1100 0010 - n1 -n1 xor o1 00 0011 1111 1111 mask - -and 00 0000 0011 1101 - a1 adress -or 00 1000 0011 1101 - o1 -not a1 11 1111 1100 0010 - n1 -n1 xor o1 11 0111 1111 1111 mask - - - -and 00 0000 0000 0000 - a1 adress -not a1 00 0000 0000 0000 - n1 -or 00 0000 0000 0000 - o1 -n1 xor o1 00 0000 0000 0000 mask - -Found 48 occurrences of '29'. - - 4C5 00 0100 1100 0101 - 4D5 00 0100 1101 0101 - 6C5 00 0110 1100 0101 - 6D5 00 0110 1101 0101 - CC5 00 1100 1100 0101 - CD5 00 1100 1101 0101 - EC5 00 1110 1100 0101 - ED5 00 1110 1101 0101 - -34C5 11 0100 1100 0101 -34D5 11 0100 1101 0101 -36C5 11 0110 1100 0101 -36D5 11 0110 1101 0101 -3CC5 11 1100 1100 0101 -3CD5 11 1100 1101 0101 -3EC5 11 1110 1100 0101 -3ED5 11 1110 1101 0101 - -and 11 0100 1100 0101 - a1 adress -not a1 00 1011 0011 1010 - n1 -or 11 1110 1101 0101 - o1 -n1 xor o1 11 0101 1110 1111 mask - - -Found 12 occurrences of '1b'. - 12D 00 0001 0010 1101 - 52D 00 0101 0010 1101 - 92D 00 1001 0010 1101 - D2D 00 1101 0010 1101 - -312D 11 0001 0010 1101 -352D 11 0101 0010 1101 -392D 11 1001 0010 1101 -3D2D 11 1101 0010 1101 - -and 11 0001 0010 1101 - a1 adress -not a1 00 1110 1101 0010 - n1 -or 11 1101 0010 1101 - o1 -n1 xor o1 11 0011 1111 1111 mask - - -21BD 10 0001 1011 1101 -23BD 10 0011 1011 1101 -29BD 10 1001 1011 1101 -2BBD 10 1011 1011 1101 - -and 10 0001 1011 1101 - a1 adress -not a1 01 1110 0100 0010 - n1 -or 10 1011 1011 1101 - o1 -n1 xor o1 11 0101 1111 1111 mask \ No newline at end of file diff --git a/src/bios/exp/EXTENDED/CD_DRIVER_0.asm b/src/bios/exp/EXTENDED/CD_DRIVER_0.asm index 1ca1714..35a1ac8 100644 --- a/src/bios/exp/EXTENDED/CD_DRIVER_0.asm +++ b/src/bios/exp/EXTENDED/CD_DRIVER_0.asm @@ -129,9 +129,9 @@ CD_READ: ; 0Bh - ABORTED COMMAND ; 80h - TIME OUT AP_COM: AND #01 - LD A,#A0 + LD A,IDE.Drive.Master JR Z,.APCOM1 - LD A,#B0 + LD A,IDE.Drive.Slave .APCOM1 LD BC,IDE.Write.DeviceHead OUT (C),A ;SELECT DRIVE EXX @@ -183,7 +183,7 @@ AP_COM: AND #01 LD BC,IDE.Write.CylinderHigh OUT (C),D LD BC,IDE.Write.Command - LD A,#A0 + LD A,IDE.ATAPI.Packet OUT (C),A LD DE,#8000 ;LD BC,IDE.Read.Status diff --git a/src/bios/exp/EXTENDED/HDD_DRIVER_6.asm b/src/bios/exp/EXTENDED/HDD_DRIVER_6.asm index db83a81..ea9b818 100644 --- a/src/bios/exp/EXTENDED/HDD_DRIVER_6.asm +++ b/src/bios/exp/EXTENDED/HDD_DRIVER_6.asm @@ -678,7 +678,7 @@ CHS005: INC A //; BC - PORT WAITPRT: LD BC,IDE.Read.Status - LD HL,#0000 ; задержка + LD HL,#0000 ; задержка ;!HARDCODE .loop: PUSH HL diff --git a/src/bios/exp/FUNC_4x.ASM b/src/bios/exp/FUNC_4x.ASM index 60f05ea..dd440eb 100644 --- a/src/bios/exp/FUNC_4x.ASM +++ b/src/bios/exp/FUNC_4x.ASM @@ -1,7 +1,7 @@ ; MACRO WAIT_HDD -.loop: LD BC,IDE.Read.Status - IN A,(C) + LD BC,IDE.Read.Status +.loop: IN A,(C) BIT IDE.ControlBit.Busy,A JR NZ,.loop ENDM @@ -128,7 +128,7 @@ NEXT_ADD_SEC: AND #F0 OR E INC B - OUT (C),A ; ????? HEADS?! IDE.Write.DeviceHead + OUT (C),A ; IDE.Write.DeviceHead POP AF RET @@ -328,7 +328,7 @@ HD_WR_LOOP: JR HD_WR_L2 FN_HDD_RECAL: - LD A,#A0 + LD A,IDE.Drive.Master LD BC,IDE.Write.DeviceHead OUT (C),A LD A,IDE.ATA.ExecuteDeviceDiagnostic @@ -443,7 +443,7 @@ TEST_HDD_DRV: FN_HDD_INIT: LD BC,IDE.Write.DeviceHead - LD A,#A0 + LD A,IDE.Drive.Master OUT (C),A CALL TEST_HDD_DRV JR NZ,HD_ABSENT @@ -503,7 +503,7 @@ HD_C0_L2: OR B LD H,A - LD A,(SYS_PAGE.HD_IDF_ADR+99) ; ????? LBA? + LD A,(SYS_PAGE.HD_IDF_ADR+99) ; !HARDCODE через структуру! BIT 1,A JR Z,HD_C0_NO_LBA SET 6,H diff --git a/src/bios/exp/FUNC_LOW_PRINT.ASM b/src/bios/exp/FUNC_LOW_PRINT.ASM index 960e672..f67b54e 100644 --- a/src/bios/exp/FUNC_LOW_PRINT.ASM +++ b/src/bios/exp/FUNC_LOW_PRINT.ASM @@ -527,20 +527,20 @@ CLS_WIN:CALL LP_BEG_P CALL LP_TAB_E PUSH DE EXX - LD BC,(SYS_PAGE.SYS_WORK1) + LD BC,(SYS_PAGE.SYS_WORK1) EXX LD B,L LD A,#50 OUT (SLOT3),A .loop2: EXX - LD A,D - OUT (PORT_Y),A - LD (HL),C - INC L - LD (HL),B - DEC L - INC D + LD A,D + OUT (PORT_Y),A + LD (HL),C + INC L + LD (HL),B + DEC L + INC D EXX DJNZ .loop2 diff --git a/src/bios/rom/SETUP/AUTOIDE.asm b/src/bios/rom/SETUP/AUTOIDE.asm index f0648bb..c3c5eb9 100644 --- a/src/bios/rom/SETUP/AUTOIDE.asm +++ b/src/bios/rom/SETUP/AUTOIDE.asm @@ -94,21 +94,12 @@ WAIT_IDE EQU #0000 WAIT_SML EQU #1000 WAIT_ERROR EQU #0400 -IDE__CD: - CALL SELECT_IDE -;MASTER -CDAUTO: - LD A,IDE.Device.CDROM - LD (IDEDEV),A - LD A,#FF ;!FIXIT можно оптимизировать - JP CDMASTR - SELECT_IDE: AND A ;%0000'0011 LD D,IDE.Drive.Master JR Z,.AUTO_0 DEC A - LD D,#B0 + LD D,IDE.Drive.Slave JR Z,.AUTO_0 DEC A ;R00 @@ -132,7 +123,22 @@ SELECT_IDE: ; RET + + +IDE__CD: + CALL SELECT_IDE +;MASTER +CDAUTO: + LD A,IDE.Device.CDROM + LD (IDEDEV),A + LD A,#FF ;!FIXIT можно оптимизировать + JP CDMASTR + IDEAUTO: + ;Disable 8-bit data transfer + ;!TODO + ; + CALL SELECT_IDE LD A,IDE.Device.NONE LD (IDEDEV),A @@ -261,10 +267,14 @@ WXREADY: JP Z,ABSENT CALL SKIPKEY JP C,ABSENT - ;LD BC,IDE.Read.Status + LD BC,IDE.Read.Status IN A,(C) - AND #C0 - CP #40 + ;!TEST detect drives + ;AND #C0 + ;CP #40 + AND #81 + CP 1 + ; JR NZ,WXREADY ; LD A,#90 ;????? @@ -295,7 +305,10 @@ GETPARM: INIR INIR CALL IDESPEC - AND A + ;!TEST save hdd parameters to cmos for "setup" in settings + CALL SaveToCMOS + ; +.exit: AND A RET Non_ATA: LD A,IDE.Device.CDROM @@ -324,6 +337,17 @@ IDESPEC: LD (IY+IDE.HDD_INIT_TABLE.DriveType),A CP IDE.Device.CDROM JP Z,FOR_CDR + ;Check write caching + LD A,(TEMP+85*2) ; !TODO сделать через структуру. Включен ли кэш записи? + AND %0010'0000 + JR Z,.NoWriteCache + ;Disable write caching + LD BC,IDE.Write.Features + LD A,IDE.ATA.SetFeatures.DisableWriteCache + OUT (C),A + LD A,IDE.ATA.SetFeatures + CALL IDE_CMD +.NoWriteCache: LD BC,IDE.Read.Control IN A,(C) AND #F0 @@ -361,8 +385,9 @@ NONLBA: LD A,B ; RET C LD C,(IY+IDE.HDD_INIT_TABLE.SectorsPerTrack) ; Sector per track LD B,0 + LD H,B + LD L,B LD A,(IY+IDE.HDD_INIT_TABLE.HeadsNumber) ; Head per HDD - LD HL,0 HDDINI3: ADD HL,BC DEC A @@ -370,6 +395,9 @@ HDDINI3: LD (IY+IDE.HDD_INIT_TABLE.SectorsPerCylinderLow),L LD (IY+IDE.HDD_INIT_TABLE.SectorsPerCylinderHigh),H NOSPEC: + ;!TEST save hdd parameters to cmos for "setup" in settings + LD A,(IY+IDE.HDD_INIT_TABLE.DRV_Flags) ; for save to cmos in GETPARM + ; EX AF,AF' OUT (SLOT3),A AND A @@ -388,7 +416,6 @@ IDE_CMD: PUSH AF LD HL,WAIT_IDE LD DE,#C040 - ;LD BC,IDE.Read.Status CALL WAIT_PRT POP DE RET C @@ -396,12 +423,11 @@ IDE_CMD: OUT (C),D LD HL,WAIT_IDE LD DE,#C040 - ;LD BC,IDE.Read.Status JP WAIT_PRT WAITHDD: EI - LD HL,1533 + LD HL,1533 ;!HARDCODE HDD WTREADY: HALT LD BC,IDE.Read.Status @@ -458,6 +484,50 @@ SKIPKEY: SCF RET +;!TEST save hdd parameters to cmos for "setup" in settings +; IN: A' = DRV_Flags +SaveToCMOS: + LD A,(IDEDEV) + CP IDE.Device.HDD + RET NZ + + EX AF,AF' + ;LD A,(IY+IDE.HDD_INIT_TABLE.DRV_Flags) + AND %0001'0001 + LD IX,PRIM_MASTER_CMOS_T + JR Z,.save_to_cmos + ; + DEC A + LD IX,SEC_MASTER_CMOS_T + JR Z,.save_to_cmos + ; + CP %0001'0000 + LD IX,SEC_SLAVE_CMOS_T + JR Z,.save_to_cmos + ; + LD IX,PRIM_SLAVE_CMOS_T +.save_to_cmos: + LD HL,(TEMP+1*2) + LD B,L + LD A,(IX+0) + CALL WRITCMS ; Cylinder low + + LD B,H + LD A,(IX+1) + CALL WRITCMS ; Cylinder high + + LD A,(TEMP+3*2) + LD B,A + LD A,(IX+2) + CALL WRITCMS ; Heads + + LD A,(TEMP+6*2) + LD B,A + LD A,(IX+3) + JP WRITCMS ; Heads +;;;;;;;;;; + + SKIP: DB #FF IDEDEV: DB #FF ICHANEL: DB #00 diff --git a/src/bios/rom/SETUP/MAIN.asm b/src/bios/rom/SETUP/MAIN.asm index 5fcfd91..f58a48f 100644 --- a/src/bios/rom/SETUP/MAIN.asm +++ b/src/bios/rom/SETUP/MAIN.asm @@ -74,25 +74,46 @@ ;!!!!!!!!!!!!!!!!!!!!!! ; !FIXIT проверить такие же ли адреса CMOS в Settings используются -SM_CYLL EQU #2F -SM_CYLH EQU #30 -SM_HEAD EQU #31 -SM_SECT EQU #32 +; SM_CYLL EQU #2F +; SM_CYLH EQU #30 +; SM_HEAD EQU #31 +; SM_SECT EQU #32 -SS_CYLL EQU #33 -SS_CYLH EQU #34 -SS_HEAD EQU #35 -SS_SECT EQU #36 +; SS_CYLL EQU #33 +; SS_CYLH EQU #34 +; SS_HEAD EQU #35 +; SS_SECT EQU #36 -M_CYLL EQU #37 -M_CYLH EQU #38 -M_HEAD EQU #39 -M_SECT EQU #3A +; M_CYLL EQU #37 +; M_CYLH EQU #38 +; M_HEAD EQU #39 +; M_SECT EQU #3A + +; S_CYLL EQU #3B +; S_CYLH EQU #3C +; S_HEAD EQU #3D +; S_SECT EQU #3E + +M_CYLL EQU #12 +M_CYLH EQU #13 +M_HEAD EQU #14 +M_SECT EQU #15 + +S_CYLL EQU #16 +S_CYLH EQU #17 +S_HEAD EQU #18 +S_SECT EQU #19 + +SM_CYLL EQU #37 +SM_CYLH EQU #38 +SM_HEAD EQU #39 +SM_SECT EQU #3A + +SS_CYLL EQU #3B +SS_CYLH EQU #3C +SS_HEAD EQU #3D +SS_SECT EQU #3E -S_CYLL EQU #3B -S_CYLH EQU #3C -S_HEAD EQU #3D -S_SECT EQU #3E ;!!!!!!!!!!!!!!!!!!!!!! @@ -1101,10 +1122,11 @@ AUTODET: OUT (SLOT3),A LD HL,IDE.INIT_TBL_IDE0 LD BC,256*(IDE.HDD_INIT_TABLE * 4) + #FF ;R02 -FILLIDE: - LD (HL),C ;CLEAR HDD VARIABLE +;CLEAR HDD VARIABLE +.FILLIDE: + LD (HL),C INC HL - DJNZ FILLIDE + DJNZ .FILLIDE EX AF,AF' OUT (SLOT3),A @@ -1127,7 +1149,7 @@ FILLIDE: ;========================================== LD IY,IDE.INIT_TBL_IDE0 - LD A,#00 + XOR A CALL COMMONIDE LD IY,IDE.INIT_TBL_IDE1 @@ -1142,6 +1164,9 @@ FILLIDE: LD A,#03 CALL COMMONIDE + ;!TEST save hdd parameters to cmos for "setup" in settings + CALL WRITING + ; CALL ScreenPOS.CRLF RET ; @@ -1260,14 +1285,17 @@ SEC_SLAVE_CMOS_T: SETUPDETECT: LD A,H LD IX,PRIM_MASTER_CMOS_T - CP 0 + OR A JR Z,SETUPD2 + ; LD IX,PRIM_SLAVE_CMOS_T CP 1 JR Z,SETUPD2 + ; LD IX,SEC_MASTER_CMOS_T CP 2 JR Z,SETUPD2 + ; LD IX,SEC_SLAVE_CMOS_T SETUPD2: CALL SELECT_IDE @@ -1278,23 +1306,28 @@ SETUPD2: LDIR CALL WAITHDD RET C + ;; LD A,(IX+2) ;M_HEAD CALL READCMS - LD (TEMP+#06),A ; !TODO сделать через структуру. HEADS PER TRACK + LD (TEMP+3*2),A ; !TODO сделать через структуру. HEADS PER TRACK + ; LD A,(IX+1) ;M_CYLH CALL READCMS PUSH AF + ; LD A,(IX+0) ;M_CYLL CALL READCMS POP HL LD L,A - LD (TEMP+#02),HL ; !TODO сделать через структуру. CYLINDERS + LD (TEMP+1*2),HL ; !TODO сделать через структуру. CYLINDERS + ; LD A,(IX+3) ;M_SECT CALL READCMS - LD (TEMP+#0C),A ; !TODO сделать через структуру. SECTOR PER TRACK - LD A,#A0 - LD BC,IDE.Write.DeviceHead - OUT (C),A + LD (TEMP+6*2),A ; !TODO сделать через структуру. SECTOR PER TRACK + ; + ;LD A,IDE.Drive.Master + ;LD BC,IDE.Write.DeviceHead + ;OUT (C),A LD A,IDE.Device.HDD LD (IDEDEV),A CALL IDESPEC diff --git a/src/bios/rom/SETUP/SETTINGS.asm b/src/bios/rom/SETUP/SETTINGS.asm index f5307de..2673ec0 100644 --- a/src/bios/rom/SETUP/SETTINGS.asm +++ b/src/bios/rom/SETUP/SETTINGS.asm @@ -1,8 +1,8 @@ ;U_SETUP: SETTINGS: - LD A,#1A ; !HARDCODE + LD A,CMOS.Cell.ScreenSET CALL READCMS - AND #0F + AND CMOS.Cell.ScreenSET.Mask.ColorStyle LD L,A CALL CSET LD DE,0 @@ -248,13 +248,13 @@ DECITM: JP PCURSOR CCHANGE: - LD A,#1A + LD A,CMOS.Cell.ScreenSET CALL READCMS INC A - AND #0F + AND CMOS.Cell.ScreenSET.Mask.ColorStyle LD L,A LD B,A - LD A,#1A + LD A,CMOS.Cell.ScreenSET CALL WRITCMS CSET: LD H,0 @@ -545,7 +545,7 @@ PITEM: LD E,(IY+MenusItem.Column) ; x-coor JR NZ,.printParameter ; если это не строка с изменяемым параметром, то просто печать LD A,(IY+MenusItem.CMOSreg) ; address of next parametr - CALL READCMS ; read item`s value from cmos + CALL READCMS ; read item`s value from cmos LD B,(IY+MenusItem.ValueMask) ; item's value mask AND B @@ -573,7 +573,6 @@ PITEM: LD E,(HL) ; x-coordinate LD D,(HL) ; y-coordinate INC HL ; address of next parametr PUSH HL - ;CALL ScreenPOS.LOCAT CALL LP_SET_PLACE ; set position of item LD A,(HL) CALL POSTMSG @@ -657,7 +656,7 @@ CHEKSUM: TCHEKSM: CALL CHEKSUM - LD A,#3F ;!HARDCODE + LD A,#3F ; !HARDCODE CMOS CALL READCMS CP H RET @@ -676,7 +675,7 @@ TCHEKSM: ; JP_to_BIOS READING: - LD D,#0E ; !HARDCODE CMOS + LD D,CMOS.USED_MIN_ADDRESS .loop: PUSH DE CALL CMOS_RD POP DE @@ -692,9 +691,9 @@ READING: WRITING: CALL CHEKSUM LD B,H - LD A,#3F + LD A,CMOS.Cell.CheckSum CALL WRITCMS - LD D,#0E ; !HARDCODE CMOS + LD D,CMOS.USED_MIN_ADDRESS ; !HARDCODE CMOS .loop: LD H,high CMOSARE LD L,D @@ -710,7 +709,7 @@ WRITING: RET SETDEFX: - LD A,#FF + LD A,#FF LD (ERRSUM),A CALL SETDEF JP WRITING @@ -718,7 +717,7 @@ SETDEFX: SETDEF: ;!TODO может бахнуть LDIRом? посмотреть LD HL,DEFVAL LD C,DEFVAL.Size - LD A,#0E ; !HARDCODE CMOS cмещение в таблице до ячеек памяти + LD A,CMOS.USED_MIN_ADDRESS .loop: LD B,(HL) INC HL @@ -729,17 +728,17 @@ SETDEF: ;!TODO DEC C JR NZ,.loop ;REGISTER #35 - BASIC SETTING 1 - LD A,#35 + LD A,#35 ;!HARDCODE cmos LD B,#00 CALL WRITCMS ;REGISTER #36 - BASIC SETTING 2 - LD A,#36 + LD A,#36 ;!HARDCODE cmos LD B,#00 CALL WRITCMS CALL CHEKSUM LD B,H - LD A,#3F + LD A,CMOS.Cell.CheckSum CALL WRITCMS RET @@ -827,9 +826,9 @@ setXYpos: JP RESCREEN setVsinc: - ld a,@CMOS.Cell.ScreenSET + ld a,CMOS.Cell.ScreenSET call READCMS - and @CMOS.Cell.ScreenSET.Mask.Sinc + and CMOS.Cell.ScreenSET.Mask.Sinc SCF jr z,.skip ;320 SLA A @@ -844,9 +843,9 @@ setLang: ld (ITEM_Restore),a pop hl ; delete return adress from stack jp SETTINGS -setInt: ld a,@CMOS.Cell.ScreenSET +setInt: ld a,CMOS.Cell.ScreenSET call READCMS - and @CMOS.Cell.ScreenSET.Mask.Int + and CMOS.Cell.ScreenSET.Mask.Int jr nz,.skipDefaultInt ld a,2 ; Pentagon sync - default jr .set