From 31e8ae3947e1db17e3261362dc6ad9097e1fd1da Mon Sep 17 00:00:00 2001 From: Anatoliy Belyanskiy Date: Wed, 19 Jul 2023 01:20:14 +1000 Subject: [PATCH] refactoring --- Shared_Includes | 2 +- src/bios/exp/EXP.asm | 32 ++++---- src/bios/exp/FUNC_RAM_ROM_DRV.ASM | 35 ++++----- src/bios/exp/FUNC_SERVICE.asm | 2 +- src/bios/exp/FUNC_SYS.ASM | 122 ++++++++++++++++-------------- src/bios/loader/loader.asm | 2 +- src/bios/rom/SETUP/MAIN.asm | 27 +++---- src/bios/shared/RECOVERY.IMG | Bin 98304 -> 98304 bytes src/bios/shared/VERSION.inc | 2 +- 9 files changed, 117 insertions(+), 107 deletions(-) diff --git a/Shared_Includes b/Shared_Includes index 6d439eb..afe66b1 160000 --- a/Shared_Includes +++ b/Shared_Includes @@ -1 +1 @@ -Subproject commit 6d439eb5a2fdbf826942b020871dc40726c50ab8 +Subproject commit afe66b1f354cab8d2780826697cf371d1d9e389d diff --git a/src/bios/exp/EXP.asm b/src/bios/exp/EXP.asm index 3e67471..5470998 100644 --- a/src/bios/exp/EXP.asm +++ b/src/bios/exp/EXP.asm @@ -290,7 +290,6 @@ GLOBAL_RESET: NO_RESTART: ; стек ещё не используем!!! LD SP,IX ; сохранить значение переданное загрузчиком конфы (если старт после ресета) - ; инициализация внутренних портов Z84C15 для POST-Tester-а LD A,5 ; COM port for Printer OUT OUT (Z84.SIO.Ch_A.Ctrl),A @@ -324,14 +323,10 @@ NO_RESTART: ;--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--== IF TEST_INT -;!FIXIT перенести в ROM.BIOS и сделать -; так, чтоб могла правильно прыгать в -; любые слоты и работать с DSS ;----------------[int]------------------ EXTINT: OR A RET Z - ;LD C,SLOT1 BIT 7,H JR Z,.L2 LD C,SLOT2 @@ -949,16 +944,6 @@ PORTS_INIT: LD A,#62 ;60, 61 OUT (Z84.SIO.Ch_A.Ctrl),A -;----[Clearing the keyboard buffer]----- -.clean_kbd_buf: - IN A,(Z84.SIO.Ch_A.Ctrl) - BIT 0,A - JR Z,1F - IN A,(Z84.SIO.Ch_A.Data) - JR .clean_kbd_buf -1: ;exit from .clean_kbd_buf -;--------------------------------------- - ; Инициализация мыши .mouse: XOR A ;LD A,0 OUT (Z84.SIO.Ch_B.Ctrl),A @@ -975,7 +960,8 @@ PORTS_INIT: LD A,4 OUT (Z84.SIO.Ch_B.Ctrl),A - LD A,#44 + //LD A,#44 + LD A,#47 OUT (Z84.SIO.Ch_B.Ctrl),A LD A,5 @@ -984,9 +970,9 @@ PORTS_INIT: OUT (Z84.SIO.Ch_B.Ctrl),A ; Инициализация таймера мыши - LD A,85 + LD A,#55 OUT (Z84.CTC.Ch_0),A - LD A,45 + LD A,#2D OUT (Z84.CTC.Ch_0),A ; Инициализация параллельного порта 1 (принтер) @@ -1051,6 +1037,16 @@ PORTS_INIT: LD A,01 OUT (C),A ; RAM-0 mode !!! +;----[Clearing the keyboard buffer]----- +.clean_kbd_buf: + IN A,(Z84.SIO.Ch_A.Ctrl) + BIT 0,A + JR Z,1F + IN A,(Z84.SIO.Ch_A.Data) + JR .clean_kbd_buf +1: ;exit from .clean_kbd_buf +;--------------------------------------- + RET ;-----------------------------------------------------------------------; diff --git a/src/bios/exp/FUNC_RAM_ROM_DRV.ASM b/src/bios/exp/FUNC_RAM_ROM_DRV.ASM index 7edc90c..79ea1de 100644 --- a/src/bios/exp/FUNC_RAM_ROM_DRV.ASM +++ b/src/bios/exp/FUNC_RAM_ROM_DRV.ASM @@ -80,24 +80,25 @@ EMM.InitMem: ;---------------------------------------------------------------------[] RESERVED_PAGES: ;; Block #1 - можно освободить по ID 1 - DB 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 ; for Spectrum - ; эмулятор ПЗУ - DB #42,#43,#44,#45,#46,47,#48,#49,#4A,#4B ; For (BASIC128, BASIC48, TRDOS, SCORP_ROM)*2, vBIOS, vEXTENSION - DB #FF ; End of the block - + DB 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 ; for Spectrum + ; эмулятор ПЗУ + DB #42,#43,#44,#45,#46,47,#48,#49,#4A,#4B ; For (BASIC128, BASIC48, TRDOS, SCORP_ROM)*2, vBIOS, vEXTENSION + DB #FF ; End of the block + ; + ; ;; Block #2 - нельзя освобождать - DB 0 ; for Spectrum - DB DCP_PAGE ; Ports map - DB Spec_Page ; Page for Spectrum mode - ; Screen pages - DB #50,#51,#52,#53,#54,#55,#56,#57 - DB #58,#59,#5A,#5B,#5C,#5D,#5E,#5F - ; - DB MODE_PAGE ; ????? - DB CBL.BUFFER_PAGE ; Page for CBL audio - DB SYS_PAGE ; Page for system (BIOS) variables - DB #FF ; End of the block - + DB 0 ; for Spectrum + DB DCP_PAGE ; Ports map + DB Spec_Page ; Page for Spectrum mode + ; Screen pages + DB #50,#51,#52,#53,#54,#55,#56,#57 + DB #58,#59,#5A,#5B,#5C,#5D,#5E,#5F + ; + ;DB MODE_PAGE ; ????? + DB CBL.BUFFER_PAGE ; Page for CBL audio + DB SYS_PAGE ; Page for system (BIOS) variables + DB #FF ; End of the block + ; .Blocks EQU 2 ;----------------------------------------------------------------------; ; diff --git a/src/bios/exp/FUNC_SERVICE.asm b/src/bios/exp/FUNC_SERVICE.asm index 5a4ff9a..b710798 100644 --- a/src/bios/exp/FUNC_SERVICE.asm +++ b/src/bios/exp/FUNC_SERVICE.asm @@ -78,7 +78,7 @@ RST_CONF: LD A,E ; config-byte CP #FF - LD A,128 + LD A,#80 JR Z,.YES_CBL XOR A .YES_CBL: diff --git a/src/bios/exp/FUNC_SYS.ASM b/src/bios/exp/FUNC_SYS.ASM index cbd44e0..c944e05 100644 --- a/src/bios/exp/FUNC_SYS.ASM +++ b/src/bios/exp/FUNC_SYS.ASM @@ -54,9 +54,9 @@ FN_VERSION: EX DE,HL LD HL,ID_SPRINTER_length - ld c,(hl) - inc hl - ld b,0 + LD C,(HL) + INC HL + LD B,0 LDIR POP HL @@ -92,75 +92,87 @@ FN_CRIPT: ;----------------------------------------------------------------------; ;EMM_FN7 EMM.CheckColdInit: - IN A,(SLOT2) - EX AF,AF' - LD A,SYS_PAGE - OUT (SLOT2),A + IN A,(SLOT2) + EX AF,AF' + LD A,SYS_PAGE + OUT (SLOT2),A - LD HL,SYS_PAGE.ID_FLAG - #4000 - LD DE,ID_SPRINTER_length - ld a,(de) - inc de - ld b,a -.loop: LD A,(DE) - CP (HL) - JR NZ,INIT_SYS_ALL - INC HL - INC DE - DJNZ .loop - EX AF,AF' - OUT (SLOT2),A + LD HL,SYS_PAGE.ID_FLAG - #4000 + LD DE,ID_SPRINTER_length + LD A,(DE) + INC DE + LD B,A +.loop: LD A,(DE) + CP (HL) + JR NZ,INIT_SYS_ALL + INC HL + INC DE + DJNZ .loop + + ; Disable user IM address in SYS_PAGE + XOR A + LD (SYS_PAGE.INT_ID - #4000),A + ; + + EX AF,AF' + OUT (SLOT2),A RET ;MSDOS_COLD_VARS: EMM.FullInit: DI - IN A,(SLOT2) - EX AF,AF' - LD A,SYS_PAGE - OUT (SLOT2),A + IN A,(SLOT2) + EX AF,AF' + LD A,SYS_PAGE + OUT (SLOT2),A INIT_SYS_ALL: - LD HL,ID_SPRINTER_length - LD DE,SYS_PAGE.ID_FLAG - #4000 - LD C,(hl) - LD B,0 - INC hl + DI + LD HL,ID_SPRINTER_length + LD DE,SYS_PAGE.ID_FLAG - #4000 + LD C,(HL) + LD B,0 + INC HL LDIR + ; Disable user IM address in SYS_PAGE + XOR A + LD (SYS_PAGE.INT_ID - #4000),A + ; + ;!TODO что за переменные? - LD HL,SYS_PAGE.DISK_TYPE-#4000 - LD (HL),0 ;!HARDCODE - INC HL - LD (HL),1 ;!HARDCODE - INC HL - LD (HL),#40 ;!HARDCODE HDD - INC HL - LD (HL),3 ;!HARDCODE - INC HL - LD (HL),0 ; SYS_PAGE.COPY_SLOT0 - INC HL - LD (HL),5 ; SYS_PAGE.COPY_SLOT1 - INC HL - LD (HL),2 ; SYS_PAGE.COPY_SLOT2 - INC HL - LD (HL),0 ; SYS_PAGE.COPY_SLOT3 + LD HL,SYS_PAGE.DISK_TYPE-#4000 + LD (HL),0 ;!HARDCODE + INC HL + LD (HL),1 ;!HARDCODE + INC HL + LD (HL),#40 ;!HARDCODE HDD + INC HL + LD (HL),3 ;!HARDCODE + INC HL + LD (HL),0 ; SYS_PAGE.COPY_SLOT0 + INC HL + LD (HL),5 ; SYS_PAGE.COPY_SLOT1 + INC HL + LD (HL),2 ; SYS_PAGE.COPY_SLOT2 + INC HL + LD (HL),0 ; SYS_PAGE.COPY_SLOT3 - LD A,9 - LD (SYS_PAGE.MSD_SECS-#4000),A - LD A,0 - LD (SYS_PAGE.DS_1440-#4000),A + LD A,9 + LD (SYS_PAGE.MSD_SECS-#4000),A + LD A,0 + LD (SYS_PAGE.DS_1440-#4000),A - LD HL,SYS_PAGE.RAMD_KEYS-#4000 - LD DE,SYS_PAGE.RAMD_KEYS+1-#4000 + LD HL,SYS_PAGE.RAMD_KEYS-#4000 + LD DE,SYS_PAGE.RAMD_KEYS+1-#4000 - LD BC,SYS_PAGE.RAMD_KEYS.NUM-1 - LD (HL),0 + LD BC,SYS_PAGE.RAMD_KEYS.NUM-1 + LD (HL),0 LDIR - LD DE,ZG_ADDRESS ; адрес знакогенератора - LD (SYS_PAGE.WIN_ZG-#4000),DE + LD DE,ZG_ADDRESS ; адрес знакогенератора + LD (SYS_PAGE.WIN_ZG-#4000),DE ; ;-----------[new code start]------------; !!!!! посмотреть-причесать INIT_VSyncAndWaits: diff --git a/src/bios/loader/loader.asm b/src/bios/loader/loader.asm index 36fd1f5..b3032ef 100644 --- a/src/bios/loader/loader.asm +++ b/src/bios/loader/loader.asm @@ -104,7 +104,7 @@ .ONES_CONFIG: LD IY,#0107 ;!!!!! подумать))) ;!TEST - ;LD IX,#FFFD ;!!!!! подумать))) + ;LD IX,#FFFD LD IX,SP2000_ConfID ;!!!!! подумать))) ; .LOOP1: diff --git a/src/bios/rom/SETUP/MAIN.asm b/src/bios/rom/SETUP/MAIN.asm index 7cf4bcd..d1b5deb 100644 --- a/src/bios/rom/SETUP/MAIN.asm +++ b/src/bios/rom/SETUP/MAIN.asm @@ -462,7 +462,7 @@ START: PUSH AF XOR A LD (ERRSUM),A - ld (ERRSUM.ErrDateTime),a + LD (ERRSUM.ErrDateTime),A ; LD C,#97 ; RST_to_BIOS_18 @@ -490,14 +490,15 @@ START: CALL TCHEKSM CALL NZ,SETDEFX - -; LD A,#1C ;!TODO CMOS Disabled use of CONFIG_DE (#C13A) word -; CALL READCMS -; PUSH AF -; LD A,#1B ;!TODO CMOS -; CALL READCMS -; POP DE -; LD E,A + ;!TODO CMOS Disabled use of CONFIG_DE (#C13A) word + ;LD A,#1C + ;CALL READCMS + ;PUSH AF + ;LD A,#1B ;!TODO CMOS + ;CALL READCMS + ;POP DE + ;LD E,A + ; LD C,SLOT3 IN B,(C) @@ -579,7 +580,7 @@ ERRSUM+1: LD A,#00 ;MEM Patch! OR A JR Z,.ErrDateTime - xor a + XOR A ld (.ErrDateTime+1),a ; если контрольная сумма слетела, то сообщение о кривых дате/времени в кмос не выводим LD A,msgStrings.cmosChecksumErr LD E,COLORS.INC.RED @@ -589,9 +590,9 @@ ERRSUM+1: JR CHEKOK .ErrDateTime+1: - ld a,0 - or a - jr z,CHEKOK + LD A,0 + OR A + JR Z,CHEKOK LD A,msgStrings.cmosDateTimeErr LD E,COLORS.INC.RED CALL POSTMSC diff --git a/src/bios/shared/RECOVERY.IMG b/src/bios/shared/RECOVERY.IMG index 3f37079d8c37aed521c03bd885dc2e20b01eb8a4..3f076e061718359afbfeeb4bbf84eb41964ec961 100755 GIT binary patch delta 7438 zcmcIIeOwgRwKIG!Ukd|*Eb=k4qwKmau#5%P4Gaj1R8))_VuDKIFU^OV;79C2Ff1Wa z`A8dKRFVpbiEZf1uew^>k~UHK2r0Alh9EzL)yzv5UE0_Ejfv0D#;3c!b9eEpN&EhK z3v=h(bIv{Io^#JR_s*@a52~*ZIvJ-7{!7U9azEl5AxWtUemCyF%V}cq={)5pDP*hQ zm!3f$61eoo$S&dabWK9nLh6?b$?4#1LO#iKEzC|wPwJ5r(BDX%CKU_Gl6^t8VHSS3 z1j)^^c4&C7ge(2iTdQ$?##zd zmpyU1#PF6MsXIN%MTL?&;d-tX+Qht{lk%6cQVk^zCG{I)SoJ>2?O+H( z{TgMOe|p{G4J1tORAGGT7W&%g!d4O*&?oa`Muoym*=++~|z( zRbdi1G@>XOT73~s)(R_&8bR}gqRr4QTB3{GlBJ5EZ>iVBk5qRLGTVfmOAK@F;o|$c z#NOWCksNVA0v<5;%#yv{ktxClOT)f1de72D_69q1&Q+T5|jqDW86z4!YU7SzG3t7t^*L)8<)oIji zR`p&CQ^_aQn^hwY2}b{J*-97}P?8bTX;jG-n^i6^(e50>)Z&suX{#%hs1gGLZKo3gZJ#9YWR7S>{)rRr;;;c!lh`{^-6c+A zOz(tyXufCYP51VDgsH!9mlM^FMD$_u1al*qN@LJUW&*8BHmcFiIq^yN(Jc=$@WJ^L zOd3O7NhHG{I9#U7iDs50LU*uHx116W^;)a(bzf1DkVCEeMg;NgKVEjZT7i@RH?0 zAMrUL)et8F#S}w?KU%R zv)XNDAqCxLEz`Sj6I<@yHP^j!o}$YuJTP_wv!4~3mnR48rcIZHUoB6GyXzr`S1d&2 zXPD$zKA+SIVWk;{8GVpv4ACQ(rZQn6kkOy(QW?4QotO}HD$|97=INwB+e!w4M%X^a zSuQ8aYY!wC!_uwbz1 zP*OJ??q%d}a|e^GB6>P$1~MH?>gJU>gIJ#nmd4AKX9cc0Cz_i)GSNSjq`0>r(~68T zJ1n|g(zPW?d!*lLpY4A(nU8`Aea;7nyasrM^(#`zG{Le$MP3o!S}~8jA)H&0Ty`TF z<)%0c6Qb!xvgb)-kf+w*cY(gJ*olHt9Opkw7U}zb1fo+Wn68*?Vj4z4?ucR;tjzDV zRL!)K{Id6AmY`pm7*UY|b8+uVaPORhb_f8v8@ zq7J>EGU4N=hywSnMEA}laB!Chvp&8u1!j#_CWIu=QXT0@@2eEP2HXZAYSoXmch`B^ z7a;EP1ox&nFP*koX;@bfW<|GV%WG4G6RQ@c{!8Xy1_wb!Dq}^nRDyL?k}$XIb@0-u zvbmAZF_3v;bWGH(pn!4vw|alz;{^>my9+L6k!xBzd@Z>C3hdqK*-4`W&g zdQB)?tta;jRjV`0Qdymrl}mN3q|>uqqLP5gv1&jS0ZNTgl5@a0rkozW_<{P`H0X(7 zduu>Z1Pi?YU(e6iBT$6!)#~_EFGmRAxhfnV-E<_t_#$r1Zr~wwfTYC!a(h^Ky7%SEmLz}H528vks7o-bwaL))FkA2 zZV!42jKQAA4gMDjMBXn4=&_pkOnEJ(iC-X>tc}sc&x>bWtJq=))JTo*9Xs=;@LMj5 z(YWFXh25%))tGe@JTdS@YRq;8<)8&1}6rH|9-OtK%EJgYs zh)j__OH`NY(E_cmRBxOQAWwdGH*M1K{uAhrT9lS}zGOc7lNQ3`-*Oq$z{K=wDZ&#( zqB1=Qr#iEIp@ocCSA6L~?uU9j+j_$ELp>DGiy!FVtd*q$)YA2^P4ZMuAE4^|yZLAg zL4nAs{dHfr4i2*tJVAbVTxG0Waa=g^sM_*N-BPqdbMcotZn@q*0t}1f+Le0e*rmxw zFZESkdT(r6-nCMH!%i*Hlb;Z#<@#aRHa{Wn0DgA>e=mS%{I(Iz)ARKQxK3l{ksSW^ z=zF7mqm#PhSs-H1RF9`XtMJsr)1y@+j0(ByLm&Qlf$mtAq+)ON@>$$T4@ zOfq{wvt)L|Sr^%;PZyh6-ehK-XbbJIk^~7Uy@20vmeu;1Sr;6$As8W}Zp^VpOX^L6 z{&Ah9!x*5A4AkZY+IsYXw!c6oW)lg`-t-n)kRA?Sek6t-3J{ zc7`s|d2hrs@Nx32oguEUBXVhDnq7X*UT2q|v`4csVb!PX^jB7K46RDLGhnN{Sb_9u zBRmmp2=S%L9R9XqbP~>>_p!l;8E_dwtn#VqQ(8Yb>2(^rwK(swMS1iMylHrAxHTGd zyY5X5dUzhr5vo%ts7SDMW?7>lw4uJ_X=it9!_gH6P9R@bN5|xdd|q@6SP4fGYczZ? zMJsP(nS)U`a>OvAu&iv|lC`CI>rKQ^P2ZPk;Ssj!vNFd5j@L%#<(OSlNzjm!vbK!oiv4r8wi!5bJ0|Hx<*pEeqG z(+VdS=a^zzx0jPE_H)-!lEKPt<8EG4z;~SE4)r>er)?biJmW5YhTqh};j@o(Obz4L z?&lQK*U{E{qX))d$A6i7hugy)>08{xBtckjit3-h z^xojCqPi6TArV7I0P4iRA!u~CQSZ%=*ER~Kjk%#mxTF7J*4N3UokIP_P2_9BmmAZ_ zP$6Pdg5@=i8_5{5*cN1X8t4H0;VLm*oX;A$=olv#xid=SqIWr%2={FU*eDnMg2R)k zZLKuSmX}oCwOo)wlIWXdK6*O`)*IrMtn?PQLNy3@hdWfIK878nz6?{F%7Eij_A{57 zsxI>zMki|(mqgB$F-1~DkJg_m=vCqGJC|Jg3r>1cA(y_(g~+AHxX~tsymnmpVpA$P zE%;YHWNG2h$CvSK z%NZ4N1vqn!AxQTVOw{d%z-ji4j!~)i!)O7I{v2M=6Yq@N&l!W|3h@4#(9dJor8_EyN4$rRA(X-0vf)~wx4c!B8QCCI+O#$P*zL}?p7hjaeDm8)Zp&WwPZNi zwk7T<=7d051u{3pdl;>|%^embCn|Uibsdl#NG04fwF^`AeP7h$H{JI~?>njwdEW(n z7wY@VThQg^{`>}zgp{w~?q|4FE*!6(>gfagG2x{x^FvP@@|6`}JHCbXJJ%r$Z;2~D zA&j9juZ(olaW3kF0FE4dnL93k1kfBgE7e?2hjWH!h6M&V`ggx# z>gf;`Y)zPd;xItVy6L~=;89TPl`$Y>ycPzER_=&^ruRzBuLRKl!q&KXy&c_jEJ#43 zZD6hGxX?X_t)A5&`d|QnGkM!w0c{Om+I0Xr;HPYYw7`iE?P!=8WGloF+Skxu*q~fH z-oL&TtKzP~Zm+b4q^<)5;ZjGwN-hnchFZpTk*^xp4V7tQpu-Fc zXSUJgap6C=Jp`YQ3D2)ql(m#BU9p-d5q3UbY`NTAzH|+7xtV|uS7tR$mIw3nIKZHk zk3fa3d}x1RtBX3m5v6(@1J1FRn2dIGw2@CUvm>=LfD^s~7Naj3DL z$4qK~FH~`l`iPcQ`dqoF;XyFepESz<&ozd?l zi^=heJNE;m+%V3Z6UZt?aju;#CU8ermGt!a7Ibyrh&FvJD1aHmutTc>)_z!0SYaxd zfJ&htP)!R3dS7p$g1j@ga=jfQ}UU z4K29x{dvE7cca?e=z_}!f96b!Z#})t?R*ZYBCta&rgKMNnapgqiOnXM-WDn!n+HkD zoI665c}<1uwW=08jv-X2rcnY=s-vf(`urO~4-1NjO(gr=I!6hr_&kvc8&Noi%tup*|ZoJcDnDChLCoUL7DoVpYGsuNEp@1gp zul~4wiok6sZeRY?Aejj%nn&2TN?H}qeAJ8vn_w-#36<@29z);jE!nh}94D=s zjmgJn$W`}~hZezY`<=%)WUN8gn_y9^`>!|EOr;FqUOHT^3>jy`Zz|H)um04s+Vj-K z>rEG)^1kB#;q%>e6ZYK>791xr$C~Zb&mMvsHydgOa5@k`hZlU4uv7JiysHWm5l0nKLx8aOB_iSdE4EvYz8P*@9}9v$OIB>-|@ z5XH7Y=#V%@BqqH@8Y0fdEAK!gOev!UuI*5UV0&>c4~5BeSjfv8bOaH~#p7ZOWBe&u z<%jB9P_Fp*=Z%!@WJ1ALD>FMvZcR+)Dj?$*R*nd9cAI+{OVTj zs35{lUf9}O6ZI`51nd*ZxM;)sB~OZtZJh-j=NQ>c!llg3A73A)h!g}hohBPr58oUC z&>?#0^AERrB5cZ5PpB=fb%1OjhkM}$B)nC*W*iQT4whAS2v&=4^N}k$yc^r2ZJvlh zrmEH1#SrV{HMYyG0F(pZZuKZ^sx}Wjp@92J=`4{y0dFWmx(-2QIwDj;PtYm~%hqjN zAb;pmm;slIWxpjzKOl8)3#|HWfw|gtSUP)q!t|!F&nyB*_n;-u$CQg{JwT|e6TBqp zEIBwM;CqIFR?w~TDh!) delta 7299 zcmcIJdt4OP)iVg|@>&>B+=X43*->|0mWQLjx{(1y(F7j|ifK@(HmxRBO*Cdv%r2p= z<&uCTo-KH%+XeO=5QW&fUdFn*93T zw=(yhd!F~4d+xb+#=1I1U7g}gl4|;B!l#vCgdgctn(2DYrVv!ZNeS z=Mb0qJ@O3tMW!M7%mV7{0&-${E+L;`&Me5y6dyK=Qg~kj)j=v3kSh*FyDqTs`x<>P z$+Gve?Tr2F8PzW?Sn;gl!n?h@Syt7H$+v$iHawWX=4R?|_@gyz*FV%~IN5F8{Kxwr z>R6F|B8<%HxXQ&xky+@*Vk5NL{1?bf)RTV{+DiTp&?XejCGBWYK_wZDjub3~cBDWb zzBk9Z58W(CF|~bRZB0~#f6yZrU2aJ9d#Uv=n_jTC%jLcGiAxQ5(^UMbXo(|;xwp#Fuk)&)N^;!*N3lO?-}y=J(5T8dnK=Tq<_Mi#Vl7{y>eA9nqUaO*o!`0qJx0O z7N&w+cHJt;@KD1|PcFG-`y0=~E>FF8D z6Z$3K0e872`$clrDQT;;!#9`MErdt7UQdp2y_3w7d4f|^YRCK~(fy)b+cQ?vE=*ud&zRpm zFW^4zf8-9~+F!YkwfbvX@m%T{6G){vMl5H>#EMjlUVJP?t-DQk{5u0by#H^S5)c6ZLDW6yN7+0eFV@7j20tx;xKKxrgio)+9^|@0_6Du z`79rwHy|FM!SZ zZ+6nR31S7xx^LzWAT%_D1|s9P&9kmF`)wwt-$wgwjNhjB+gR9lew&eTE!fOf`uEQE z@0p_vS&5iAhS|GJd}3ZVESlYTpTBapfAgFXrx-DF$iHW{fA1V{%=$5Ezb`H6cCHYiWkr_x)nq{7v2<$qB=$1>; zq^^^W2{Q7N+zFji5O?UNAnOTTC$GvI!1jEwLP4&4Cve%l;=I(MvA#i_^3J+UD6`g# z!|IPqreiwkp!B+Nd*9AfJ{~4C$cGEO0eDfx%DE|_^;1Oqk^=?CX@mR_NDXYUC<3+FVVCGjMP4yF&2#ZwszBfMBg8prV@!Ku zE-?X8u&)GR4J_gBjnw`L75PEWWoudu*P1BCB#c=DRJ#xe%NyWlz-Ek?Y47a)ei}^M zzc<;xCj~-^)of(ZhE?iCu!j~fWE7E0%V)+R0`e()C;gRr`c%4#zfBtpiBUwMf3McR zM+frl0{HpjsYcsw?V>c{oB0pn7w=2u;|j(^d)$~;uKGV6s0KticOe!ERdoFC$a;HJn4Ndo}Cr_x<^(QS4k+d9)LXg ztz#1u@zch{L8HiNFRq;@ju>I#|07qn9+()Hks<;LQoP>`%Bi-TP|}D+*p|BVC|7RA zv#lenwfyyxfYT5m8+VNCgFQDwxI{5?)$yKlB)V|i+ZGs!B1dk#N%T>>m ztKLAZ8}vKRnwE*{4VTZFxC-<55HKu~Yb(v(ktTCN6{pqID zIg;t+97WKD>Y4Kk3Sl-mU>oM|1ICbNxV3BL+P8ABY+aCu?}4T_bEv0GBVM8JWIA)N znX;n8_oq67%y?n03qGvvz_o%6@&iuy>{;-){NU?GGW`G3Pt~^_edxO!1y}HjggpEY zzSVGR&Eh2kb_lP>bs7hv(novt7D+LJ_0u? z$u9iNWdtuV2|gIZ!s%Nwph&h0-a8W8 z;N@ZaI758I4#}l08RPOpZOCUlnQi?ff=z&>|J4kp< z5_2-LBc1ZunzP0*xNWsrI*oY4;`!&(U*e)1EUV50u;jZl5g1{s-XYjSAnmnx8e@{X zz%(s`-1WR6K{1I*36Q8zE%J@CfI<9(fh)j_&uS79^8`LWArU-*Nu zF|n>dMyxA6GuCx4JX_$|3C~A>!;d;E))fcO&jH6k|L$G1EEt=za8%vD2Q{m>SXUSq zYYdNdZRIfb2ETqdp3fMLcMhj49!|+0PT{A)Qv^>qJj;huP~1kP6{n?j^1iN_O!n?mpZ-&y8DObVIDgVZUa z`rb2~4`?8;+xil>O)fpfeNQfZo?A;2g!87Le+En+=bVE6Bmlp{zzYDhVc z&XOxy(ELq{qh8=ny<{`n<gjO&HYqV@I6Qsq$!Sh5R%EY`i(lqoavYf*#J!Mx|Ww7c{(iE?n8a z+I)}WC@1#MujN{~103S=gy7P(a!G`{mY$`7h4Yz?!&J&IHqQqD#(mB6Yhl)SBOc}~ zO1TOGT%N5kJ%fp+BakR4B%P?y9|7rKVd+8WU?kjRiQm9oxw`yHU!U=!#&;mr(hr7D+c?*-b;0TKWrBN z(bQK^50awlNj!WPx2grBHP^a(0slL6;Nf{u=bsK07GQhjVLEK^1iJ8WQptHVBA$D4 zsFP0eQRfi^ao`EA3xNhzf_3o3sKA_mMtu6o%j=%3;f79lr+B7VK)}36#Dg zdEWVF09xKj|1A$o!4aoQ#42h*P;hdmkvQ=)i8+VB{;nNKb1t6fq-TN#@uOC7-P(mZ z2XF{x)C(aP0N_mh@oXgSh*|dL5g0&R;Iiz%ae1_UO31YYL*k+Oz9sdliqXD@TCgc@ zvX$#V*qZogizu`TU^}R-Uian^g7E3%enKt_r`~TKHO2kJvd+E6mZfOkTsj3z6m^YkddV3dy)D_Z!d zzKRwfHF!)_JPK`cr!iA}zrj-G{3E@RPdjH>zN{a{J(dDM+{4G5v*fPA2(OA6l{`Z# z{U`>!BL|qmV`4`GpJ8K%YNr6NtMubqoxH_hl6VL)~*FJ29Gi3pOGcx=;b{> z2S~MXlo>?iZbmtHj4UDWz_eTUqYs@G2(K>&UUCq{T9u#C^b5~8_@d9TSHpy5p>+eUrZ#JEx4qw^gfHif1_ zMdB6JjLQ#<3q!-w zCwU;iea|*aB^vlL!hF~ye%6>vKu_NY{j8 z^e77fk{EZ>ICb(K_~hjhUjuL=0zgj?JWh;LbBwl=p$#0h2M3-813nIZX-wYqSL>~R& zvDrM79&05@ z@Q#p8Bt;W9AHQ*dBGN>t+ca5UcH!m_fF2=0U)@EdRSKf3UWF^2aH_xO7QU7-WrG zCv_18W6(pPF};E`*3+mOM#!jKvS!_;boou6(gwK2Soh0FT1c9lh}An0Guir#)HOK< zcho~R0XRAb9Qh%p#hBI&glanqlB6zjU`oMvh=EnGtqB^Pj*X^39Z1JUr}RlV*l2pl z=;FIHPqtPA7h22=pE$(5*6M%(n7Z89%F|q5Yv0kpsr8&;QGOekE81s^N>@xbC?9^ z>@R|+30$TAS;)NzMEjlZ$AL0B5)}1&g0WKVCHvj+t diff --git a/src/bios/shared/VERSION.inc b/src/bios/shared/VERSION.inc index f827a71..d865884 100644 --- a/src/bios/shared/VERSION.inc +++ b/src/bios/shared/VERSION.inc @@ -28,7 +28,7 @@ Disk_subsystem_ver_hex EQU ROM_ID.VER*256+ROM_ID.MOD DEFINE Disk_subsystem_ver_txt '0'+ROM_ID.VER, '.', '0'+ROM_ID.MOD/10, '0'+ROM_ID.MOD-(ROM_ID.MOD/10)*10 ;--------------------------------------- - DEFINE SPTeam_year '2022' + DEFINE SPTeam_year '2023' DEFINE SetupVer '1.60'