From da539256ab031a60c7a0f58c6eb019a033a58d18 Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Wed, 24 Jun 2020 22:14:58 +0200 Subject: [PATCH] memory models 46K and 50K work now, the 50K is now default, updated binaries --- CONFIG.md | 4 +++- STATUS.md | 6 +++--- bin/basic_generic.rom | Bin 8192 -> 8192 bytes bin/basic_ultimate64.rom | Bin 8192 -> 8192 bytes bin/kernal_generic.rom | Bin 8192 -> 8192 bytes bin/kernal_ultimate64.rom | Bin 8192 -> 8192 bytes bin/mega65.rom | Bin 131072 -> 131072 bytes bin/mega65_pxlfont.rom | Bin 131072 -> 131072 bytes c64/,,config_custom.s | 6 +++--- c64/,,config_cx16.s | 2 ++ c64/,,config_generic.s | 4 +++- c64/,,config_mega65.s | 4 +++- c64/,,config_testing.s | 2 ++ c64/,,config_ultimate64.s | 4 +++- c64/basic/e000.under_rom_routines_46k_50k.s | 2 +- 15 files changed, 23 insertions(+), 11 deletions(-) diff --git a/CONFIG.md b/CONFIG.md index b33a17ed..bd8182f2 100644 --- a/CONFIG.md +++ b/CONFIG.md @@ -105,12 +105,14 @@ Memory model the original machine uses - memory available for BASIC ends at `$9F ### `CONFIG_MEMORY_MODEL_46K` and `CONFIG_MEMORY_MODEL_50K` -Planned for the future - not available yet. +These models additionaly use RAM under BASIC, and the 50K additionally takes over `$C000`-`$CFFF` range. They should still be highly compatible (no additional RAM for helper routines is needed), and the performance penalty should be much lower than 60K model. ### `CONFIG_MEMORY_MODEL_60K` Uses RAM under BASIC, I/O and KERNAL, takes over `$C000`-`$CFFF` area requires special helper routines installed in `$2A7`-`$2FF` area (normally unused and free for the user). Gives the most free memory for BASIC programs, but it's the slowest (for example, forces disabling optimized LOAD loop for JiffyDOS) and the least compatible model. +It is currently not compatible with Mega65 extended ROMs. + Comparing to standard memory model, it needs about 180 bytes in BASIC segment and 80 bytes in KERNAL segment - at the moment of doing the test, these values are expected to change often. ## IEC devices diff --git a/STATUS.md b/STATUS.md index 8f757777..897686d2 100644 --- a/STATUS.md +++ b/STATUS.md @@ -22,7 +22,7 @@ Here are the features of the Open ROMs not found in the original ROMs from the 8 * command with just the file name tries to use the last device if it's number seems sane; otherwise uses 8 * command without parameters tries to load first file from drive chosen as above -* uses RAM under ROM and I/O: 61438 bytes free +* uses RAM under ROM and I/O: 51199 bytes free (up to `$CFFF`) by default, but 61438 is also possible * cold/warm start silences multiple SID chips * warm start due to BRK prints out the instruction address @@ -41,8 +41,8 @@ The following ROM features are currently missing: * most BASIC commands * BASIC variables -* BASIC expression parsing -* floating point routines +* BASIC expression handling +* most floating point routines * RS-232 support * NMI handling is incomplete diff --git a/bin/basic_generic.rom b/bin/basic_generic.rom index 5d1d0d42107834b96986dbc88a8a94c5658c660e..1451d2109896abc0e232a8aedd7b2fa0e2b278d3 100644 GIT binary patch delta 3555 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 diff --git a/bin/basic_ultimate64.rom b/bin/basic_ultimate64.rom index eaac04ce6e4618b72cd045e680bc9e87baff12b2..6bd95ad4889cefccf16b3e627399ee227c988e6a 100644 GIT binary patch delta 3493 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 delta 3407 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 diff --git a/bin/kernal_generic.rom b/bin/kernal_generic.rom index 9b1b8b9fa24121512ce0d9a91675f91b6ba48f72..523ca3dced08d1b07cb44f186e84ffc540d0c571 100644 GIT binary patch delta 4641 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 C&tV386mK0%WPe>A8uyn{Obf^>k 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 P*pC+f-t*(kzdQa9pW#~f diff --git a/bin/kernal_ultimate64.rom b/bin/kernal_ultimate64.rom index 99bcc4f27481f615da2780b86c3a054756b67188..764573327e2d1e8fa75d8a17c598c9ce1eaebee4 100644 GIT binary patch delta 4460 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 BLG}Ou delta 4451 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 L?Y{4)-*^5m3vpTX diff --git a/bin/mega65.rom b/bin/mega65.rom index 7590e052c4b6dad671439bebdc299e5950f6f987..851cfa1550ec2018d48ea5c05baaf092f66046a2 100644 GIT binary patch delta 5758 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 delta 5710 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 Dhjhb? diff --git a/bin/mega65_pxlfont.rom b/bin/mega65_pxlfont.rom index e19eca4fcea6927605701d7b54068be89aa81a9f..8dd0ecf4627bf2ffc221989a3b1d3bc7c995194a 100644 GIT binary patch delta 5758 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 delta 5710 zcmZ8l4_s7L_J8lqzziTVD(LwCf(4?8x`m4xrqveNZR@w~?~{&L4_j?CZQFj^uA%Ns z#Us|FhOQO%Z)eAOQ;&jXmMt9q?4W}2T-jb?q^2#xAYfa(afIQI%>2$BT({4@58Qk1 zz2}~H&pF?7&Yfqq>aAA2yV%4{Q%Q-bkb6-j{iavx==n{n*(2oBO=+`^gwg+OcDJDM z4R!{tGu5apIvQ@j!lENJflaY2dz1_pd<4AC%|BzSYp!gb&Kb6DT(WU$L80k_smt{D zjqh*tu#XyvX}9r~_c!K>KkZpuDdzTMq5pF^SlneQULoY1w=)%$o*Y$=cDTr!yB{Od zpI>6OciUNHaw#lt*FrBdYHX`AgbTf`6~?W3`Fc3c7S}>?&2|R(wzz~fW+4wR+b9tb zA~o3y5ZU11?5Su{k7TuPrlT0x0;B)6`zA(HVTArbK6*YwYtNGGq~rN)R!3rrGA(l^ z$FT0yk7L;^=nbU@Vp*?_%~TKR*nh;Zyu<+U0}#LpCOJ(>5YOBn5za_y_$!m^jIvISsH-iq#kNvDr6jh}ZTY5? zsLy1bEw}w>;s=v89#-~eS}M^sQ;}JIP2q$yt%@Z50rYQG{>)1s*&kD;ORRmPVgP!B z5-&XotyU_xZx(WjS9CJ!%#(J;lhZ0Q%80RIYmSg3F->~O<*(oltUV} z)G*q}aPk5hlJ~gh$jfY6`3_sMee$_qZ%`+fD#P~a=bAUDmX$#AU|7Q~74h(ZooDJ; zYV=rYcjMDqw(kcGTcu%To#N&zU>z30HOu^T(>#-;-rUk^hNV{U4Q$MXjkcB>?5&we zuu|&Pv2m23EL6fb5>rOD?YZ^7?VCWp`nXgMX4x#PKxa4F=1U*JV8g`V0qM#A4A!9( zll6=J`PB?-+-`l3;ZXMmvz&zI7m(9?7R;GnAf3vR+CFC3Lk!oqzx6?dcR6cG$h%X=0Y{jvjv@wwBl4J0;YI5OT7eKG0IuAs~;CT zng4qDmHt)!)&4vDdHyy2JN;|@>-=~5@Alv0|C#?@|9$>^|NZ{;{s;Wn|DgZp{)hYw zFP2Z+z1l+Gjnol&l{yHKw%#$lWQJpA$#mI5o@Zp2J0`wz?{KYrN}VLPsk7w22hY#K zyS#K06Z|k)j;T4E3>UI&-AkwW==|GKwpO)#57Q4kUGpc`<8(Jw}Md z^_}FRQOq-L*9z;4XdnxF?3^c0SlJ5AD$q?{8_Y?T9}g}|hL_#c6TM!O#;wHz0o3M| z7-Wkedp9*r0-D>2zVni2Ix{T5%p+|Bx>R5D-86KdyQXUz`oULoVH)s=$@yYRJ{`8v zp)1*$Viw>pSxUwq*UH&Sl9&Wh$Qc2&LJ~$UBabp%QbYiMc#7nY6dlmpkhd#3TxM&N zSGi@eP@P1#DH`;y3&$WAbY$V*QZ3)RfD?Z!f-r~vjlz?LG2t2hrY`>`csP!GGTP>& z=SyjyK21zE@;n*{c=GV;HPDye=m8276R4{C1_3aLvY^JRK!}TT`&pq#%<2bo^3rXL zU`FR$4&A3)-gxw+VFYOSvuhlT@zX8OJ^IF$zEZ=GXx{pmU>3~^=#0L1k!zmyWYz~; z6TuBn8Mh_~+gtUXJo4%Xv*Xuyx=+LD@f{)wbT8L{l|Ae~S<)=cEOgh4g{ZM!+)kVH zeyfn~){7bajO`ynhM3WApDd;eg~(lR6rVv)R3gs@Htuq|xb;W$uYN>7@gsW61YNVH z@>d%DKv&J@2>>%vS+#_N?p)Q}=>Wqtbu!>qcezjrK#8CsG(aX*7tDL4YVP1YcYl#{ z>Wkl=3RgDyJq>jYosA9kexJYIgHfQY9AC>77mvRT19Jbu^VS=+1yfcLRFlo!V4A*ML5#2ON^-T4ZVS zqT57(D+GnA!J|(6Z6iOcbFXio?+-qU&+2=@_oDA5-<{$eVzE!~mH1xv-Pg%vi8Q?=CO#9rQ7FpELzOc?4zG ziQAyGY{NT_K%_u8;aN={hN1J@)zxBQ@K;*Y&nxj)o2)b*bFkPV!luX+Ef282ouy z+#am_fhsI)lk7q|gm*?1u4HMwk#pCR`|BUGNUUR>J%Ae{u$nGp2n&TwVG(cKnl7XR zU^94}*MQI0gKGBmj{DJX8*rf8&NvG2nR=RoQlgoAnsr<(6l%pSLcREe&|u_oM+58- z;?Y~cjO!wF-^cn~; z&?vfNJZh3729Pr(ouaNquWAtM#eI#$=*lWL>?Bis56=5Z_Puv!F9)DblqBr&FzDrK z8i=T%jwgYxl-Ikp^XZUY5j}Z|1`HsUFVkSA6HRSEi~aZ=ANi|qbs`AJQsbbm4FW`K zuKTnIIp(6$PsCM_-zPb=)QYQIDGQGLd&&`^YQZ z@vEDUqjnrLaO=oPZxh1hZ?kjR{cc%X08Pwj0AE_>9vq-IfGW!#9!k?D2 zCtRh9>bv9R<9pQKtFF?X`m+bESwdLZ#zt{^(zBr`b zX^)^qqYho;0=0~}(70GlWG?_NXEsHYTkN`X3sfbp!nkj?`XNq(B0aDy>7?OIQv`k_ zMMbC!q_si|U&UU?OtNdv%?qj8Qo}IsO%Dl!-bEo{$eR}Wu(?J3MRAKXz3c!do@o0c z=QfjVeJT2{hOoWQ+crdA>a!ZxhUmSU@t$W6onu;?jLM*76$0oXGQ0nd<$TCtM3Mdz z9k-k_l;H7^I2%sr<)uV?I^yhTGP)DJ=NN+?_Ab-dAL8v9JSpvemF()D$-Nk=S$@S5 zQ*Ky7d;>;uabO1bY(E(qSU5R>#RUPd_8H+Uo*yPz>TJvRts&RND*GNfd|XVIbeldLq%q^CxmU` zA~W6}mi0EBthH(6`4GOyI%3mc5{~PH?T(m6jrAfoJVe~;jCgS0iz+w~T=k`z$Kl(^ z+Ca+f@RCEpK`lC_lD`b&yCb`8+=;^gj`Zs&Jd`gwGm|PCvjdb+^IZoiPCgzde+=9{ z&l`f%f;jOYt_}!apEv2nw`EQ6y96q#oO}~lVfjsHKjH#4_OSN}4hkvE>vXcFy_AlH zLq%pI4+@a*xX)sVM4$0-s{v`XEX#6QJ<2zs8xkIiN|;6^JRJ)X?u|-#8!x>I0^SVY zwH7cBi=eqJ9Jf|*QvBnU3B&MqcRIWb9V72tO|wV{JPSICwLv8TEr^J9C_Ci-L1NKU zBko@G{;<1iV(J^Ia3Xk4i$?{g5zXlpk4^OGNElMU@rgnAarj!G1Yl2@8r>*eif%*K z=&($M(l``ikShdUJ|t-#7T)G1v23X#y$KBu$~h}kL#cNo*K$PB;FrTq41Or+tZ0e{ zMT*1XkwY6fvF^|loajBYi)$^e0HI)koEW&a+|z^Sgvo*69QNl#3a(uApbGCeD6zs} z(OEV{DRE-oAYX~N-u{mqJ_O?-gQ=ufnODmlJnQ*PJOn& zBDbf#(%D{$;s#H&)6>NbX0I&^!=Xb#{7}R^LA($K>pu{OPSFLh{&`6EVEuM#{WCDN z=c>C+;wP-%j2_5+m~ksT7d_2CuES}B+Tw8V84eJd|QNra~#_dd0V?**k`55m8e0TQ8j*pMJGY7B%ig$k6x=2~@%r@pnh)~K+#VD&k@*glNQRA;T4 z0`7@Ml;{NyMJaF+E)IeY!FNVzSY?N5z6ilEjz_-?)HH|i&a2&aCFZgNr}c<`mS-s; z(IJy>hqF`IDF2?THNU&T|73s7QzUgHWx<><(vPdLr4^aO0)@@Z45m(iK!dN5jU$hc zFGqIip=u=1szL4@y_J2G>>Qn)K0kcYa23*`*r9SKI$*!pAsZD9y3%)r0mG4NT;QGl+fW_3nBd_v=3Y|e*!rWs0OjKd5o4(3&)^clt-vCv;pRFt5q zn)bhQ=-GZ($EW8EQ;~H{LgimZ=TXWviuGs4a-kyo{q<~a@(7tbzHc4W z2BQ+kDM7?uow$NjO;zM<+a&0|pQ2>yToU(Y413s zyk=f(ZuvyfipN{3dGS3%vV#HpL{SsxsgHiR`8rG&#vDl^Q8~v9YQ9WpXzqX?tvWSc z{Dj`*t1&dkD0P%l?-^vrGGN1+2+)m=)CsXhkGAnl|NmLnMiFAr`O2dNb3Cg0sMR~p4Wp5ReULgxn96B&JN){SMebg zUndQb1*!L_I~QtpF4FAG(%`@_uDy)od+Zk+4FAThhCtW#N3M9-$ekX8dh@^Bu>Ai4 Dhjhb? diff --git a/c64/,,config_custom.s b/c64/,,config_custom.s index a6ab5010..54c8e7ae 100644 --- a/c64/,,config_custom.s +++ b/c64/,,config_custom.s @@ -39,9 +39,9 @@ // Memory model -#define CONFIG_MEMORY_MODEL_38K -// #define CONFIG_MEMORY_MODEL_46K // please keep disabled for now -// #define CONFIG_MEMORY_MODEL_50K // please keep disabled for now +// #define CONFIG_MEMORY_MODEL_38K +// #define CONFIG_MEMORY_MODEL_46K +#define CONFIG_MEMORY_MODEL_50K // #define CONFIG_MEMORY_MODEL_60K diff --git a/c64/,,config_cx16.s b/c64/,,config_cx16.s index b1ce579a..158500df 100644 --- a/c64/,,config_cx16.s +++ b/c64/,,config_cx16.s @@ -39,6 +39,8 @@ // Memory model #define CONFIG_MEMORY_MODEL_38K +// #define CONFIG_MEMORY_MODEL_46K +// #define CONFIG_MEMORY_MODEL_50K // #define CONFIG_MEMORY_MODEL_60K diff --git a/c64/,,config_generic.s b/c64/,,config_generic.s index aea04a58..209074e8 100644 --- a/c64/,,config_generic.s +++ b/c64/,,config_generic.s @@ -36,7 +36,9 @@ // Memory model -#define CONFIG_MEMORY_MODEL_38K +// #define CONFIG_MEMORY_MODEL_38K +// #define CONFIG_MEMORY_MODEL_46K +#define CONFIG_MEMORY_MODEL_50K // #define CONFIG_MEMORY_MODEL_60K diff --git a/c64/,,config_mega65.s b/c64/,,config_mega65.s index dafe48d5..bf90bfaa 100644 --- a/c64/,,config_mega65.s +++ b/c64/,,config_mega65.s @@ -36,7 +36,9 @@ // Memory model -#define CONFIG_MEMORY_MODEL_38K +// #define CONFIG_MEMORY_MODEL_38K +// #define CONFIG_MEMORY_MODEL_46K +#define CONFIG_MEMORY_MODEL_50K // #define CONFIG_MEMORY_MODEL_60K diff --git a/c64/,,config_testing.s b/c64/,,config_testing.s index c0785af2..9ec523c1 100644 --- a/c64/,,config_testing.s +++ b/c64/,,config_testing.s @@ -37,6 +37,8 @@ // Memory model // #define CONFIG_MEMORY_MODEL_38K +// #define CONFIG_MEMORY_MODEL_46K +// #define CONFIG_MEMORY_MODEL_50K #define CONFIG_MEMORY_MODEL_60K diff --git a/c64/,,config_ultimate64.s b/c64/,,config_ultimate64.s index bb76f26a..0f73f68b 100644 --- a/c64/,,config_ultimate64.s +++ b/c64/,,config_ultimate64.s @@ -36,7 +36,9 @@ // Memory model -#define CONFIG_MEMORY_MODEL_38K +// #define CONFIG_MEMORY_MODEL_38K +// #define CONFIG_MEMORY_MODEL_46K +#define CONFIG_MEMORY_MODEL_50K // #define CONFIG_MEMORY_MODEL_60K diff --git a/c64/basic/e000.under_rom_routines_46k_50k.s b/c64/basic/e000.under_rom_routines_46k_50k.s index 771b5dc2..6aef9262 100644 --- a/c64/basic/e000.under_rom_routines_46k_50k.s +++ b/c64/basic/e000.under_rom_routines_46k_50k.s @@ -43,7 +43,7 @@ peek_under_roms_via_OLDTXT: // Retrieve value from under ROMs - lda (TXTPTR), y + lda (OLDTXT), y #if HAS_OPCODES_65C02 bra peek_under_roms_finalize