From 2d5bf15ac98ecae00b984b608165128a811b4f77 Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Sat, 28 Sep 2019 10:10:49 +0200 Subject: [PATCH] fixed MEMSIZ value, some cleanups --- Makefile | 8 ++++---- 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_mega65.rom | Bin 8192 -> 8192 bytes bin/kernal_ultimate64.rom | Bin 8192 -> 8192 bytes c64/aliases/,aliases_ram_lowmem.s | 2 +- c64/basic/cmd_new.s | 6 +++--- c64/kernal/{ => assets}/cartridge_signature.s | 0 c64/kernal/{ => assets}/colour_codes.s | 0 c64/kernal/{ => assets}/fd30.interop | 0 .../{ => assets}/fd30.vector_defaults.s | 0 c64/kernal/{ => assets}/keyboard_matrix.s | 0 13 files changed, 8 insertions(+), 8 deletions(-) rename c64/kernal/{ => assets}/cartridge_signature.s (100%) rename c64/kernal/{ => assets}/colour_codes.s (100%) rename c64/kernal/{ => assets}/fd30.interop (100%) rename c64/kernal/{ => assets}/fd30.vector_defaults.s (100%) rename c64/kernal/{ => assets}/keyboard_matrix.s (100%) diff --git a/Makefile b/Makefile index f48d2564..d4751fce 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ SRCDIR_COMMON = c64/aliases SRCDIR_BASIC_COMMON = $(SRCDIR_COMMON) c64/basic -SRCDIR_KERNAL_COMMON = $(SRCDIR_COMMON) c64/kernal c64/kernal/jumptable c64/kernal/iec c64/kernal/interrupts +SRCDIR_KERNAL_COMMON = $(SRCDIR_COMMON) c64/kernal c64/kernal/assets c64/kernal/jumptable c64/kernal/iec c64/kernal/interrupts SRCDIR_BASIC_generic = $(SRCDIR_BASIC_COMMON) c64/basic/,target_generic SRCDIR_BASIC_mega65 = $(SRCDIR_BASIC_COMMON) c64/basic/,target_mega65 @@ -127,9 +127,9 @@ build/basic_generic.rom: build/target_generic/newrom build/basic_mega65.rom: build/target_mega65/newrom build/basic_ultimate64.rom: build/target_ultimate64/newrom -build/symbols_generic.vs: build/target_generic/BASIC_combined.vs build/target_generic/KERNAL_combined.vs -build/symbols_mega65.vs: build/target_generic/BASIC_mega65.vs build/target_generic/KERNAL_mega65.vs -build/symbols_ultimate64.vs: build/target_ultimate64/BASIC_combined.vs build/target_ultimate64/KERNAL_combined.vs +build/symbols_generic.vs: build/target_generic/BASIC_combined.vs build/target_generic/KERNAL_combined.vs +build/symbols_mega65.vs: build/target_mega65/BASIC_combined.vs build/target_mega65/KERNAL_combined.vs +build/symbols_ultimate64.vs: build/target_ultimate64/BASIC_combined.vs build/target_ultimate64/KERNAL_combined.vs # Rules - BASIC and KERNAL diff --git a/bin/basic_generic.rom b/bin/basic_generic.rom index e201428e98e771623dabee586c95e55aad6dee30..fb2f7c1915b6c3f86dbdd2b2de2684014bfa7eb6 100644 GIT binary patch delta 23 fcmZp0XmHr@pN(sQ&dLR?7Of^L88&mWf0qCNbqNVZ delta 23 fcmZp0XmHr@pN(t2&dT|%7Of^L|8M4G|1JRldguy6 diff --git a/bin/basic_ultimate64.rom b/bin/basic_ultimate64.rom index 28f7f46c3e74e0bf2443fce8f30058ebec6b1a6e..bbeab1f391903479d4a14cceaa3fad92ef7fbfba 100644 GIT binary patch delta 23 fcmZp0XmHr@pN(sQ&dLR?7Of^L88&mWf0qCNbqNVZ delta 23 fcmZp0XmHr@pN(t2&dT|%7Of^L|8M4G|1JRldguy6 diff --git a/bin/kernal_generic.rom b/bin/kernal_generic.rom index bed9f709f6c6f1c2614cf159fd943d0233e4f0b2..8868de5b9709b4c9a095b598049029b485875ffe 100644 GIT binary patch delta 1226 zcmX|Ae@t6d6mH+^Z^U&4MkOn~PJ)G*IEOQ3fr*T4jNC+$8675DUb18<0b}-u%3`t= z!z%`b6fPp*uTtBFF0z%7s7#~i49i=Bd*rbW7RUHwEtE{9ZOU~^@Od6BCNKA%`_B2k z@7#0Fb=SG;A`2Q@6-74cW$|XpSjPu&!+KBSaHF9E-A$oiVkD`tGO*=oFIe(uFVAo} zZy{B@L)v}McLaQ)v7rAHH=(*$alaRqzhU8q8w0}|rVpoE7<666^D);rs!HQ0)8vl! z4Q6zU9MGL`o{tMAk;Sm(i^i~uU*H$<@q{oa9!AcD@TzDUpPU!ah7#d>HftjL8gi0J zT}k=*cxX{PCKQVGAxYd5h;9?jMgbYT%}Z!G0VoJf>Pjv-6XRjjKR+wMuh4?12Ox`& zt~OS1VxG&|>h?0NKjZkS%fIX1w^Y>ic^C-1X-)|iQ6F~mH{c`;fT_xwyG3(QvbH)v ziK4oO5EYKSQk_Q-ZERw71W z#;dKkgyZD8{_r#QwSY9!>{a9?C=WyiqSH$%GmEdRh20}dDs+_~Lz{Y;d~85!Cz&vG zfL(5^bKJ;fm&=w5O6H>3s96I{QFJkpqd^x*pYav7hls{9^+S>|Rx-ME@`A}~UZSWv z4Q&Of`$_2cREvq~bonw1A9;QEJBN@--@gETt??;4+_z6 zwk&9fqPZkDRb)M)ZRWr0`qA?PxBcP{=$Bd;@gFPa+E3Q;!o&2Z!)pE( ze(_(lOv*}|)WziO(m%^qW4@>S4sOvek9MFYDzfb=H|mm6w~TsZ)G428SNVwBUQ+%p z#U6@nkFY0(A8q2}8GMf7xg-uzEIq()CUNaLKDk9^?0d`p%HZ!~?GCoRl5KyE#b;9Z UjEo)B_lIA_sZ_J{th_JvA6(l^7XSbN delta 1226 zcmX|AZA=?w9KYW69g(hpRI<{CNoLFZFjqHWfr*4nMxI0xj1H46w=6Lw!}&!Wiyu}@ zuTu=9@ZbcTQ0kS?#hDUFCi9J{!Q2w?$gu;Kk?~=?w24aFl*cW>^SQQ|T=M*$=l}Bi z-T%c~=dFt_YV9>?V8;Ol?j%ih91k1fU5x{c#tv{l3Esgdp|#QE$kSc6{*~_LXf|j4 zZe6ur(;aZ!q*h(Hn_6XW03YrGQ#i85@t`3NcnszeEZWq)MPE`-o&HqSxedWAGLRhk zqA5agi`+7NIVSXr$AL2@ye^u@Cl&;-t$GBX&q7eJ1)S)PzVzU^jj?6%q);T*k4fS) zyqrliE0f6ZJx&7iF%m^wHHOkF&e(Va^e)Uw||Bx;GnLteEGqwRr<{+s{zm z^n?ml%j2TH$4?W-yOyM26%7$D_dB@>eFRcjxKFf%C0m=5u#9YFi3Gc7+{lp%y<&b? zs*0)hjEZXEE73T+XDt+;B8enU&P5_o4;t203P&_ki?ygpmi# zIiS)@q&&ovm#0@K3j>F@BHqCj3XGt`#tWKxblnIvPV}R(gWzMPI_IsNx|~`zELn>31;;&nxIy;TxJM^jYB{;KV@L2^qqC6URsO0H@(xil_uFyQ-;W7s-VeNPX&y zJ|Y1>6J`-cJRTm(J%pmHcD5qq=ipdQXrGX^-x`bELMP?tD51x1bP2|BLQ4{gl0>sZ3B(`z_$4lRq3w^ zRIq0pxKr@y)MT;kgswSXVaUg3Tn-ynT50hg8(X!vt8pAsh?Gi;;jW0Cq?Jy>vK&%| zIzST^nRdzxd8E>B z5e@eTeCb~>k1EQVGzRou*`F0l>%nJ3PBuJ9iB^smFmJMgtM^kF!cfKwPskKo%0SR04U2{hx_Uy+Al5pH)f?UhXX3k*D)gl84l Sk_6=6Owa)TZXzLFBr!9@@Iyz5 zcIw2X<4oO$&Skb^B>^tkAIpykN=EJynnUhrHp9k8Y_}3MZI|tgn6x$pbD z&-0%5+!JUCw8(u%>n}+NaQGt!AJJi>YujbrLIeLsw;&-9EeJ##E)5T~5WQvmRB+K& z)9b#@lwxHDf?GKgqq^X1aE=^KEB$OA_|i%{vrb&Qt3XC$jPBfo;8_MAy=K~4-KGBXw$$ibzy28nI) zJ39g)eaEjPwd5bGSXkuD)Z48`;*2e)IG8ya2;Rmo0{*))tA=t#V+3ItXK6=@5264UE;=Nt! zuGFm*QEk=J3EOk1lz^^uNd~%TuXsS{rcB%+{6$yAU3$|Ky2t9QxS52#D|m%y^&ks@ z$z#?=GfIDDcj0=`zN6+~3XW_<_Y~INFH0GGGxOhm9+&KNZ@+AHZxyp9zytS%Jh|`-@FA90OP~~qv!I|NdE&!hw z;EMwE6yRLp*eTuUKpQ;2(gP^_D#|KCrcu#nUWpyo;O?Rkm&+kfKdXN2JtQq|lI|mE zPSIr^Au)6Re_EW&zhMNLxqKai!67Hx)HqhtsM#uz4jyrfc6xPPfk?>o=uxtYL zPtv}wy|~kP@J_z#Ja63H#I=k1_gRnl6fymHW6X}>UABrD#-VNn3sDCGwA|eyoS<*J zL8zr4y8o_TN{+rT=9MCY*tBfG!$*ejx;j1EUvB24CP%Jt(#y%mPf2%@JY6H<6*9uf Xoh*rSlIP?ojd>23Z0q}1U&{RlWi;xQ delta 1054 zcmYjQZ%kWN6z^--zf${$KYN>NIcyWl;u3Jiv4yyf5N(#L7@f)Xt;EEXNVY6l7CwmU zqMgdrlwDMy69{=lIac1DkvyhETa&Uwq#ruQ|f8yj9=b8_nhDP z{mwb}9lzV}j`nCx4h~%$e#^pX8qzw-WNT1E*0V-0;Tbxk?GkF~o4SLIZA-F=X$T%> zW{ju;Gl5xhFeUf0!{AEEt;{s`{aqQ-1;p@kTP9eR!9^!^J8RpPMrYY8as_K1Raljj zC=yL2Ff)8Fpun9JW+7D2?>z5HjYXj6?v#SA(HW-4L=8Fc&{OASPx-`le^A~2BS}2; zjaU|HR+#RKi)sW;TeGsA=_CHYFL;wLqp8|5ZOj^0#C8{|3@vX7$qr^%Dv8QH%p6u4 zQ-yf3ibL`@%rNyNTF%OlNC_lLnUv|EC0UTDjuvOJ7&Xebg4(+CBtaGZ;XRgRNxAh# zupqDCcn~QiVsk31h72x8{QYw(7^3xt_k=t2iU9-{{lU$>w2lWQnlW&Vy&D? zShpcl0#2n$G;oRz8jlL+=%R72Fi*9nefITKP`hjBinDs~!k1rt-Pb=5q75d|V%>m4 zYu8i@DE(&!y2ekK>h&n~sm+1kZ*6<44lKc2xyTWGWt8akjrp#MUTC8CZBAk0vK@qB zT4O(B{GCUeWACV;mWJ#OVS>i&(}r3eR3kP{FO|QGe@C{w6+3CJ_&|u$$%O^3=4ALZfWJap&bLjFXDYPin>Pp@?Y(!PMSvXHKq)#>MBCky8Oq7aXoVU>PZ z`QqCM`eO?;kDysumA;R_^!$IYIFJ5>9=MT=-b80$KqS47yjLN_yCKdaivbB*R$zj| z?TokE)8{dC!q4MnRW`wZgQ?@6s}|_4?Yrr*?eD+V#Nq5FxtGD20QOhh03aJ&>PwqG zsn^e)RI?4y+vxp&+#Qfe%Sz|0=bET7@6e>T`8q_6kG#4`C$;4b1wnA+Q1d}9r~@s> z6B;<=*GKeW=~zID>OlF6v~Co(@9ZWtj2{<2)9!ELg-846Nxit17=Dl&v7vjP)iTXE z)U075@<10gJKaJXeccIyo}PC8UHNNrc*ls#8}7#@q8c1TcmSX7O!b~;ZzM@omVC#_ mB~H#gCKr?B@j8*#NQjf$84~AYm6PK%R(({L<3}Ft&i)JUI_z2i diff --git a/bin/kernal_ultimate64.rom b/bin/kernal_ultimate64.rom index 9e443ee8d7dad582a67fbd0daca951a6c5a9bdc9..571c7efbd62559f0a3289cf323f1ebc8e383d04a 100644 GIT binary patch delta 1233 zcmY*ZeQZ-z6mMVGPn>igg=Wz8I_K=>N6^Q0%0?WJxR!Miv%aOffGN-W+U^gNmwV57 z=bYc~+}}I*d0IRzF|XFTjvQkd)bAR08G1n_0VE42LYdlz1GJ;PROkiIGPJB*RRd*m2nHAdkN})9(3LC+n zRULAs$D-i)wJDLlip&UlTBw0-cU|>JSm(BOd;CoIFEDl29a=yC0}*rsK87Y81}1g;iCqicH%RJUTW7FTO3!4-4(ky+Pk78|p;3tL!OC@>!XUuHTo{ zzSNcijU@USBpC`m=pJ*QvLeuwU31{71Q^M$fe$6)G8+clmgrfBPLu=nKKw-ai>Cb0 zbi!4u4+p4A?0Fc{QZx z!aLY-Ob5gTIK84wWk*H{b!2d&Vn0=;wen+HaG`RO`ZB&*xd|*JX-AS2i7zwkumAHd zg1;Vt1#Gd@tfw6`%Z2`K(22(FmL^($*z#62M`9P1!G4v*&d0kLHeiK=S=1X2Mn<_% z=ftW-uWngL22DrIIYa@r{EL)N$R^B>`jUS z@Op;U0~?`dU6qUg{z3fO&EKA^wtv$%^u?FMBZ04I98Ya@Z8!z?l77IEXhClIUhOYoz}G)$~i- delta 1209 zcmY*YZA@Eb6uuwyb23VyqhTw&FvNl%K^rG7poj}L%bQ4oADhXRyAYF-;r?hGi9c3^ zTM;wT?L`GdD5b4*QB%_&OQ%jY67()%xyywL%g9I^jG{60lJ;d=*!8__`C)Q%?{nVs zoO7OY?s?r!?xsku#`<3JJkN0b&LOA13;de`I0bIY;C+lnHI@4=fgaosqBy+52f&dH zFp0rjl0)}2!TM8cf>C54`Q(d+FvZXFi}0m{Fen}d_Jr`JXq@`#mH;+YhVQ8?1O@BB zj;?7-t52iH7k*$(7dQ4 zfh=^~ch+#?9+$Pl?PWTCgYo+=f5CFahNvCzFobx+BnxIy7k2Z%6HB;AAeDuMqA4g@ zJM5&&_X~5=neK7l}kIII^miD34@j zu@W%|(_T%@IT%Nh?(o5a^?)?p>Q&22WITi!h{u*F6AQ=I!|vfF3XG#V{b~9p8r1{Z zj(*j55q!wdWWStKms86HC6i?~ZptH>;^0gomj;|cV}{r0kI{;uioSz1##(ba;nf@% zA1x~%>;CequZM<5zCq6$t@L{Is8Opc;xG69;`y0_|7>L&fhRUld*PF$=;wtt^8T){ z>P5#IXh?-$g*Zt#gRUvpB`XIUc-Mew88EV!g%4%JW@ax)?~@nJfbK&T<`;~SyxzD+ z3dBPaI$>@uZAisFU<8g#>gp=IB5Sg%6k)+6ikZ)9_il5rT|tM6-lC)Ei=wB29Rnrp z*98Md`9MSqqJqGj0VyP@33K|t>aBwrP9!zYxP>ZF3g!fq9E{o#G_1JL+yn-WFV(kn+Vugb# z?gwhQ2A`*vqiKtdZkk{98T(8->S^60uB+GQnc)4$xUPUNG!Y~~$cr%b99e~jD#c)` zxl2NG@J|9!V~M>Y;~_@Y>DB$%&3ykU!wqyZ1LQ*nk6b0TgX(=$J9elY!-XU{2R2MP zOv?rUMXd7vC~;bcoPnWDW1p&gMuDbn*A#GU!M$72YU{I_)_jE}50|0T>6VT&;da9vmFWqB(VKhQlmB!XbBgX*I&|LkypL06nYlK^nf1f;||{ zC1Di984N#q3>!CKYZ6VDAE?@cVKMHsvz@hU=QAukDZ`TrY?FO={1it~3)r($DgOu7 Cxjd`@ diff --git a/c64/aliases/,aliases_ram_lowmem.s b/c64/aliases/,aliases_ram_lowmem.s index fa96322b..00d19059 100644 --- a/c64/aliases/,aliases_ram_lowmem.s +++ b/c64/aliases/,aliases_ram_lowmem.s @@ -39,7 +39,7 @@ .label STREND = $31 // $31-$32 -- NOT IMPLEMENTED -- .label FRETOP = $33 // $33-$34 -- NOT IMPLEMENTED -- .label FRESPC = $35 // $35-$36 [!] our implementation might be different XXX give more details - .label MEMSIZ = $37 // $37-$38 -- NOT IMPLEMENTED -- highest address of BASIC memory + .label MEMSIZ = $37 // $37-$38 highest address of BASIC memory + 1 .label CURLIN = $39 // $39-$3A current BASIC line number .label OLDLIN = $3B // $3B-$3C previous BASIC line number .label OLDTXT = $3D // $3D-$3E current BASIC line pointer diff --git a/c64/basic/cmd_new.s b/c64/basic/cmd_new.s index a7fbd49e..8fbcb727 100644 --- a/c64/basic/cmd_new.s +++ b/c64/basic/cmd_new.s @@ -47,21 +47,21 @@ basic_do_new: #if CONFIG_MEMORY_MODEL_60K lda #>$F7FF #else // CONFIG_MEMORY_MODEL_38K - lda #>$9FFF + lda #>$A000 #endif .byte $2C !: #if CONFIG_MEMORY_MODEL_60K lda #>$F7FF #else // CONFIG_MEMORY_MODEL_38K - lda #>$9FFF + lda #>$A000 #endif sta basic_top_of_memory_ptr+1 sta basic_start_of_strings_ptr+1 #if CONFIG_MEMORY_MODEL_60K lda #<$F7FF #else // CONFIG_MEMORY_MODEL_38K - lda #<$9FFF + lda #<$A000 #endif sta basic_top_of_memory_ptr+0 sta basic_start_of_strings_ptr+0 diff --git a/c64/kernal/cartridge_signature.s b/c64/kernal/assets/cartridge_signature.s similarity index 100% rename from c64/kernal/cartridge_signature.s rename to c64/kernal/assets/cartridge_signature.s diff --git a/c64/kernal/colour_codes.s b/c64/kernal/assets/colour_codes.s similarity index 100% rename from c64/kernal/colour_codes.s rename to c64/kernal/assets/colour_codes.s diff --git a/c64/kernal/fd30.interop b/c64/kernal/assets/fd30.interop similarity index 100% rename from c64/kernal/fd30.interop rename to c64/kernal/assets/fd30.interop diff --git a/c64/kernal/fd30.vector_defaults.s b/c64/kernal/assets/fd30.vector_defaults.s similarity index 100% rename from c64/kernal/fd30.vector_defaults.s rename to c64/kernal/assets/fd30.vector_defaults.s diff --git a/c64/kernal/keyboard_matrix.s b/c64/kernal/assets/keyboard_matrix.s similarity index 100% rename from c64/kernal/keyboard_matrix.s rename to c64/kernal/assets/keyboard_matrix.s