From f522b822191267507c36e6335a248efd02015793 Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Fri, 11 Oct 2019 18:14:12 +0200 Subject: [PATCH] various cleanups --- CONFIG.md | 9 ++- Makefile | 11 ++-- STATUS.md | 2 +- 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/,,config_generic.s | 1 + c64/,,config_mega65.s | 1 + c64/,,config_ultimate64.s | 1 + c64/aliases/,aliases_config.s | 5 +- c64/aliases/,aliases_cpu.s | 16 ++--- c64/aliases/,aliases_hardware.s | 3 + c64/aliases/,aliases_ram_lowmem.s | 57 ++---------------- c64/basic/ab1e.strout.s | 4 +- c64/basic/basic_do_error.s | 4 +- c64/basic/cmd_list.s | 4 +- c64/basic/print_integer.s | 2 +- c64/basic/print_packed_message.s | 16 ++--- c64/basic/wedge_dos.s | 2 +- c64/kernal/assets/keyboard_matrix.s | 4 +- c64/kernal/chkinout_real.s | 2 +- c64/kernal/chrin_real.s | 10 +-- c64/kernal/clall_real.s | 4 +- c64/kernal/f1ca.chrout.s | 16 ++--- c64/kernal/iec/iec_return.s | 8 +-- c64/kernal/iec/iec_rx_byte.s | 4 +- c64/kernal/iec/iec_turnaround_to_listen.s | 4 +- c64/kernal/iec/iec_turnaround_to_talk.s | 4 +- c64/kernal/iec/iec_tx_byte.s | 4 +- c64/kernal/iec/iec_tx_command.s | 4 +- c64/kernal/iec/iec_tx_command_finalize.s | 4 +- .../interrupts/ea81.return_from_interrupt.s | 4 +- .../interrupts/fe47.default_nmi_handler.s | 4 +- c64/kernal/interrupts/hw_entry_irq.s | 4 +- c64/kernal/scnkey_tww_ctr.s | 20 +++++- 36 files changed, 114 insertions(+), 124 deletions(-) diff --git a/CONFIG.md b/CONFIG.md index 8310b8d8..48451cd6 100644 --- a/CONFIG.md +++ b/CONFIG.md @@ -48,8 +48,15 @@ If unsure - select this one. Choose if your CPU supports the Western Design Center 65C02 instruction set, like: * WDC 65C02 - used in the Turbo Master accelerator + +It enables some speed/size code optimizations. + +### `CONFIG_CPU_CSG_65CE02` + +Choose if your CPU supports the Commodore Semiconductor Group 65CE02 instruction set, like: + * CSG 65CE02 -* CSG 4510 - used in the Commodore 65 prototypes +* CSG 4510 - microcontroller used in the Commodore 65 prototypes It enables some speed/size code optimizations. diff --git a/Makefile b/Makefile index d73f87c5..c5eb20c9 100644 --- a/Makefile +++ b/Makefile @@ -192,16 +192,22 @@ build/newc65.rom: build/kernal_mega65.rom build/basic_mega65.rom build/chargen.r # Rules - tests -.PHONY: test test_generic test_mega65 test_ultimate64 test_hybrid test_m65 test_xemu testremote testsimilarity +.PHONY: test test_generic test_generic_x128 test_mega65 test_mega65_xemu test_ultimate64 test_hybrid test_m65 testremote testsimilarity test: test_generic test_generic: build/kernal_generic.rom build/basic_generic.rom build/symbols_generic.vs x64 -kernal build/kernal_generic.rom -basic build/basic_generic.rom -moncommands build/symbols_generic.vs -8 empty.d64 +test_generic_x128: build/kernal_generic.rom build/basic_generic.rom build/symbols_generic.vs + x128 -go64 -kernal64 build/kernal_generic.rom -basic64 build/basic_generic.rom -moncommands build/symbols_generic.vs -8 empty.d64 + test_mega65: build/kernal_mega65.rom build/basic_mega65.rom build/symbols_mega65.vs x64 -kernal build/kernal_mega65.rom -basic build/basic_mega65.rom -moncommands build/symbols_mega65.vs -8 empty.d64 +test_mega65_xemu: build/newc65.rom + ../xemu/build/bin/xc65.native -dmarev 2 -rom build/newc65.rom + test_ultimate64: build/kernal_ultimate64.rom build/basic_ultimate64.rom build/symbols_ultimate64.vs x64 -kernal build/kernal_ultimate64.rom -basic build/basic_ultimate64.rom -moncommands build/symbols_ultimate64.vs -8 empty.d64 @@ -217,9 +223,6 @@ test_hybrid: build/kernal_hybrid.rom build/symbols_hybrid.vs test_m65: build/newc65.rom m65 -b ../mega65-core/bin/mega65r1.bit -k ../mega65-core/bin/KICKUP.M65 -R build/newc65.rom -4 -test_xemu: build/newc65.rom - ../xemu/build/bin/xc65.native -dmarev 2 -rom build/newc65.rom - testremote: build/kernal_generic.rom build/basic_generic.rom build/symbols_generic.vs x64 -kernal build/kernal_generic.rom -basic build/basic_generic.rom -moncommands build/symbols_generic.vs -remotemonitor diff --git a/STATUS.md b/STATUS.md index 4d338117..73dcd39c 100644 --- a/STATUS.md +++ b/STATUS.md @@ -29,7 +29,7 @@ The following ROM features are currently missing: * tape support * RS-232 support * breaking Kernal routines with RUN/STOP key -* NMI andling is incomplete +* NMI handling is incomplete # API status diff --git a/bin/basic_ultimate64.rom b/bin/basic_ultimate64.rom index 5c33e194ee4377bc6d5a099dffaedac83a950ab7..1c579875bf75472b09d3464860e60f2088fdd544 100644 GIT binary patch delta 19 bcmZp0XmHrDijD2+kEI(Fu5RAI79a@#SJamX%K$Zk{;r-|AO z4k65$cHdmoWLTOVLdl4&TsZ25(QKoqap5c7uq-suNLk{X#hWkBd;Yxd z^LyTNyhpr8!b^H%T9w0)#t-yobRIf?xJu9SMcio!^U?W7hGSL7QbqWo3|nRN#g=qy zbYUziLX;}UiFqcHP#~*EBc;HL`w|8=*u9zYNIvGzk4F+Qe`5T0lKi`o3V}a?M&>^^ zpQ+~Ec-2Y-uZp5M!(Y-3_-rq%haz66|HLq-ipYxJXgF_~^GFgA2pt{ znN*)1UD*kVm3b8n1-#w(Ht)q>qDXzi9#t%6wbTl>^ z3-J;OaGu$S0@v_Qw!VXQb>ir^M=yYdf{()RUeL;nw+VG|LgD#5Oj6i;0zUkL{bha< zAGddyOlsJ%oS{sjKpe%7K0%+QmZDT}sozoW_0JvXgmD6gY1#UDE^))!P! zn*vo7rt<7WcW|}y{SG#ejlD=)(H&L(gIMJyQXAr=d(sl5ip=RfaTYe|1Z)>V`!TbS zea<$=kE&+|I`Zh*JbU`8XT~$@6j@`OaJDtSr3T9tf@((4ik8$$^Y5UYvK?(=m+R9O zZ)rNkw*GK;I!S~ZE7{lXuCScs2T~GwOAy5oSCfV1rfvLg5{=*$S1)hC%}oxz4|g{8 zS_X=6ItN24Dm%!Chu-aAV&TF;yD(mb-;_ie}ODqifzLb&{ z(LhmYBzp8sQNC~3Cz??F#4IPfHd`w&ij~yLN#`J|U^T<&l+OqE(6%iquDFY6rcWLzgmW mlcI+?v|T_Z6@7pgS`ORVi)bu^%$dMikP|uXIrVILZT&yX|NMgh delta 1039 zcmXYwUrbw79LMkNALySU7wA74fit5MiRc`_w+>nrJ)1 zB@GL1-C>EEGO=czWnn2oqNvj z_xpU$J>Fh#Z)8bZlU2kB$f6bPfaaFGa7?FVSp^-}N7&fHBmF7eskIXLt^&3z@XKxC zr_tEh9UjDpMZNbR;pF z2(tnXGDEXb3EV_KSl>QkRmM+#eeyCe6L5`ykM~0jbIf`NSD(ZL9F{?Vfc>Z78hXL@ zDjPs#fR8sJ7(ZSS!I=r7xO8$Dv=URj%9)_IAevpp>s^YCBfwmZ=$_A8A= zg;$#Z9RV&vBa9=1apL^VgFtkngLxhd`_mjCx>Q+W*s~&jFuf8t-VU9QU$1`0PXM(rCR(O@EW04w1u3_ zpSe8c=?uN}hkMg$%uTK4-?+OpOH72=@ zGu8PxLlP@TwRAq}MX2St*+m?~-s_s-UtmA_yX69V3BA(_JnQnAi<%(i;hr5h*r|XX zSw6X*8d*f0aHd80=3mIV%@+HZFwQ#Z|-q#;sj!S-Q64TxPv{wnG23#km9m6yO z4{{V)3ShIis!!)Nl#He=Sie~njU3j6y|_lYfoo~~MT))G+I)JX9I9VG_XO8`HKw6Y zC&?8gBQ}JY3BQ_32CBXP>n2nZKVE~sanNa21%it2a(AM$N z0D*1-GXy3GR35=wMfh$3Ud_QR0v{IO&Mq`4a1h1Xj#)cPa4ZK+xnMTL@C@Tr&R4P< F{{eoA4P*cS diff --git a/bin/kernal_mega65.rom b/bin/kernal_mega65.rom index 1dbda167cfeb6e53ccc0ae3d75117a05d5341e69..b108fb6e757fe41e5dfaadd42281616e64cbd3aa 100644 GIT binary patch delta 284 zcmZp0XmHpN%*FV8atN0Ow29caXDNjJ%*mjy(RT@zqg$OfrvuExYl7 z*@yf4vdb3)mR$Q_cU8X zB{DTyFDu-9>H`#*dx3lDHP*`?n2rJM`E^qE0_!s{L+Ap_%7zPUCnsHC2bz1_=h@`H za*`g;el6m^yZieEw!StdpJ%^L34A)qd4XdkL+?Zo_aq09-2i0^Utm-C`3)pG8OU;Z U3Sv#U@YBcTm5<`D$#L?F0Q#Vew*UYD diff --git a/bin/kernal_ultimate64.rom b/bin/kernal_ultimate64.rom index bc015e103378dcd1e14cf78af7bea938edd935f0..e1f031b546613e6383339ada56f17842deca857d 100644 GIT binary patch delta 878 zcmY+CT}TvB6vt;~-Bnl2S#{mDvTj9b_C*hdL4ps0LI*0M$iA59Dd?ek>5EE;iOsN@ z?mpNNG`m0LJXFxA+4>IRz8{I{$aFw(uBSFH(UB>n+4lpHbW}+PBC)6v3k(_L z$5cW?N(_Si7u*L5`HgtgbCD-_U->Ta28E}V^RpaA=l=9LPzn!}pLVKLf@0iIv4^Ml zTE&x1)=UpK^w=zpJVPI|QD~i()H~v@P??HNA>>2WOsI|p^(Bf^^##Q7smkr_<@3rV z+x+yV18z-g(n5g+jlSn|h-8?ztlj}rkYD`gUZOqIh+waGC4U1qdJnU{akqExB33;$ z=&?k5?Irk_#q-|%u9^(ABsqMrY7Otlm#cEbqg6Zk1GwI|f}g8Ynd?oM4p?FL8bl0_n44dZuwANg*#KpZsjx8= zHx~z@kyt>9MI-5el8z3=$&cK^bK8AwKoGyLKErx%UEEsIo-dwLkcXi?qgN6K zbY;{}&OB(Rt`N6sG=8mHVAMUNR5kp^m_wsU2Cd&ACF+RNFa^fOYz=WvEr@cF6lfj9 zrQafj?Ehf~KEJHGH8>Y4n<%2hb^VIKj{1#g>BXc-gmz!_~c(gO2gp* delta 857 zcmY+CT}TvB6vuaF9amS(@nhZHQoGrgSrR=M1_eF@3LUTrW3`Nlo`N2#mnE-hOAGr7Y{^#84!s^1d ze1V(CM};-OV9-d0R$N8`;<&0Qoz*}ATDtpoG%{DWd$K5G61+O7N9L`TI zR)Z~#enxA^7h+!5Te^e1-20#FL#4~ehi$fOt_~O2F0$OX!FDdm zJKjBI63uGKA$7m}MZ$k<)4J49>}?2IYr4yL^f3%A__d=jtHkhx zTTQdMqGgEC9OyT4SS#f@>%?Y0fm58fQ2koVWY7$|Xp5hS-tpj({&BWS<%{fx`ZcET zE2lGo?KZN=em`LBb5^pL#oLP#Tp?7Zqe=r-es{R7cX({ed>GSjKo9n04p-%^x~}p~ zth=}#O?%ux$Ce`A%s|i+>Huk@R!bxaEZvwqDGz`vq@@uvJPs*iLKLc2a}%rLFZiCb z#iJ#YM8)s8!W^0kFhH%5Bq-y8KgcsSW;2N}w