From 2a248ee993898c6b5a47adc526cdb03dc2f513fd Mon Sep 17 00:00:00 2001 From: Jakub Husak Date: Mon, 23 Jan 2023 13:55:39 +0100 Subject: [PATCH] unify changes --- .../034M_Action36ACS_orig/makeflashwrite.sh | 1 + .../034M_Mac65_1.02_DDT/makeflashwrite.sh | 1 + .../1MB39sf040x2_SpaceHarrier/flashwrite.asx | 15 +- .../macroflashname.asx | 2 +- various_flashers/1MBOnEscape/flashwrite.asx | 15 +- .../1MBOnEscape/macroflashname.asx | 2 +- .../1MBOnEscape/makeflashwrite.sh | 4 +- various_flashers/256kPOP/makeflashwrite.sh | 1 + various_flashers/8kB_PILOT/makeflashwrite.sh | 1 + various_flashers/8kB_WSFN/makeflashwrite.sh | 1 + .../M091_Action36ACS_orig/makeflashwrite.sh | 1 + .../M091_BASICXE41/BASICXEflashwrite.xex | Bin 26321 -> 27054 bytes .../M091_BASICXE41/flashwrite.asx | 237 +++++++++++++----- .../M091_BASICXE41/makeflashwrite.sh | 6 +- .../M091_OSSBasicXL103/makeflashwrite.sh | 1 + .../flashwriteexample/makeflashwrite.sh | 1 + 16 files changed, 203 insertions(+), 86 deletions(-) diff --git a/various_flashers/034M_Action36ACS_orig/makeflashwrite.sh b/various_flashers/034M_Action36ACS_orig/makeflashwrite.sh index db4f41e..e2373cc 100755 --- a/various_flashers/034M_Action36ACS_orig/makeflashwrite.sh +++ b/various_flashers/034M_Action36ACS_orig/makeflashwrite.sh @@ -1,2 +1,3 @@ +cd `dirname $0` mads flashwrite.asx -o:ACTION36flashwrite.xex diff --git a/various_flashers/034M_Mac65_1.02_DDT/makeflashwrite.sh b/various_flashers/034M_Mac65_1.02_DDT/makeflashwrite.sh index f2942ff..54d37c5 100755 --- a/various_flashers/034M_Mac65_1.02_DDT/makeflashwrite.sh +++ b/various_flashers/034M_Mac65_1.02_DDT/makeflashwrite.sh @@ -1,2 +1,3 @@ +cd `dirname $0` mads flashwrite.asx -o:MAC65DDTflashwrite.xex diff --git a/various_flashers/1MB39sf040x2_SpaceHarrier/flashwrite.asx b/various_flashers/1MB39sf040x2_SpaceHarrier/flashwrite.asx index 171a690..133f3e9 100644 --- a/various_flashers/1MB39sf040x2_SpaceHarrier/flashwrite.asx +++ b/various_flashers/1MB39sf040x2_SpaceHarrier/flashwrite.asx @@ -1,13 +1,13 @@ -; JatariCart256 flasher +; JatariCart flasher ; by Jakub Husak , 04.01.2020 ; All Rights Reserved. ; -; JatariCart256 is free software: you can redistribute it and/or modify +; JatariCart is free software: you can redistribute it and/or modify ; it under the terms of the GNU General Public License as published by ; the Free Software Foundation, either version 3 of the License, or ; (at your option) any later version. ; -; JatariCart256 is distributed in the hope that it will be useful, +; JatariCart is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; GNU General Public License for more details. @@ -19,9 +19,6 @@ ; flash image is included at the end of file ; uncomment when flashing all cart or want to check all blocks written so far. ;.def compareall -.if .not .def CUSTOM_CART_LAYOUT - .define CUSTOM_CART_LAYOUT -.endif BankNum equ $88 Counter equ $89 @@ -474,7 +471,7 @@ badcompare_tmp2 equ * +1 dta b(1) ; Counter ;------------ org _SOURCE - MACRO_FILE(:1) + BANKS_FILE(:1) ;------------ org $2e2 dta a(MAIN_PROCESS) @@ -482,8 +479,8 @@ badcompare_tmp2 equ * +1 .endl .endr ;------------ + .if .def CUSTOM_CART_LAYOUT CUSTOM_CART_LAYOUT + .endif org $2e2 dta a(FINISH_PROCESS) - - diff --git a/various_flashers/1MB39sf040x2_SpaceHarrier/macroflashname.asx b/various_flashers/1MB39sf040x2_SpaceHarrier/macroflashname.asx index 8c44bf7..808ae80 100644 --- a/various_flashers/1MB39sf040x2_SpaceHarrier/macroflashname.asx +++ b/various_flashers/1MB39sf040x2_SpaceHarrier/macroflashname.asx @@ -1,5 +1,5 @@ .define TITLE dta c'Space Harrier' .define CARTSIZE dta c'1024' .define BANKS 128 -.define MACRO_FILE ins "Space Harrier (2011-07-05)(Hutt, Chris)(GB)[f for older cartridges Tucker, Steve 2011-07-23][!].bin",+%%1*8192,8192 +.define BANKS_FILE ins "Space Harrier (2011-07-05)(Hutt, Chris)(GB)[f for older cartridges Tucker, Steve 2011-07-23][!].bin",+%%1*8192,8192 .define TWOCHIPS diff --git a/various_flashers/1MBOnEscape/flashwrite.asx b/various_flashers/1MBOnEscape/flashwrite.asx index 171a690..133f3e9 100644 --- a/various_flashers/1MBOnEscape/flashwrite.asx +++ b/various_flashers/1MBOnEscape/flashwrite.asx @@ -1,13 +1,13 @@ -; JatariCart256 flasher +; JatariCart flasher ; by Jakub Husak , 04.01.2020 ; All Rights Reserved. ; -; JatariCart256 is free software: you can redistribute it and/or modify +; JatariCart is free software: you can redistribute it and/or modify ; it under the terms of the GNU General Public License as published by ; the Free Software Foundation, either version 3 of the License, or ; (at your option) any later version. ; -; JatariCart256 is distributed in the hope that it will be useful, +; JatariCart is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; GNU General Public License for more details. @@ -19,9 +19,6 @@ ; flash image is included at the end of file ; uncomment when flashing all cart or want to check all blocks written so far. ;.def compareall -.if .not .def CUSTOM_CART_LAYOUT - .define CUSTOM_CART_LAYOUT -.endif BankNum equ $88 Counter equ $89 @@ -474,7 +471,7 @@ badcompare_tmp2 equ * +1 dta b(1) ; Counter ;------------ org _SOURCE - MACRO_FILE(:1) + BANKS_FILE(:1) ;------------ org $2e2 dta a(MAIN_PROCESS) @@ -482,8 +479,8 @@ badcompare_tmp2 equ * +1 .endl .endr ;------------ + .if .def CUSTOM_CART_LAYOUT CUSTOM_CART_LAYOUT + .endif org $2e2 dta a(FINISH_PROCESS) - - diff --git a/various_flashers/1MBOnEscape/macroflashname.asx b/various_flashers/1MBOnEscape/macroflashname.asx index 1609131..d313fc7 100644 --- a/various_flashers/1MBOnEscape/macroflashname.asx +++ b/various_flashers/1MBOnEscape/macroflashname.asx @@ -1,5 +1,5 @@ .define TITLE dta c'OnEscape' .define CARTSIZE dta c'1024' .define BANKS 128 -.define MACRO_FILE ins "onEscape (14.12. 2022).rom",+%%1*8192,8192 +.define BANKS_FILE ins "onEscape (14.12. 2022).rom",+%%1*8192,8192 .define TWOCHIPS diff --git a/various_flashers/1MBOnEscape/makeflashwrite.sh b/various_flashers/1MBOnEscape/makeflashwrite.sh index 3a54c34..55b3af9 100755 --- a/various_flashers/1MBOnEscape/makeflashwrite.sh +++ b/various_flashers/1MBOnEscape/makeflashwrite.sh @@ -1,3 +1,5 @@ +outfile=OnEscapeflashwrite cd `dirname $0` -mads flashwrite.asx -m:macroflashname.asx -o:OnEscapeflashwrite.xex +mads flashwrite.asx -m:macroflashname.asx -o:"$outfile".xex +rm "$outfile".lst diff --git a/various_flashers/256kPOP/makeflashwrite.sh b/various_flashers/256kPOP/makeflashwrite.sh index c155e2b..574835c 100755 --- a/various_flashers/256kPOP/makeflashwrite.sh +++ b/various_flashers/256kPOP/makeflashwrite.sh @@ -1,2 +1,3 @@ +cd `dirname $0` mads flashwrite.asx -o:PoPflashwrite.xex diff --git a/various_flashers/8kB_PILOT/makeflashwrite.sh b/various_flashers/8kB_PILOT/makeflashwrite.sh index a2616c3..9c2561c 100755 --- a/various_flashers/8kB_PILOT/makeflashwrite.sh +++ b/various_flashers/8kB_PILOT/makeflashwrite.sh @@ -1,2 +1,3 @@ +cd `dirname $0` mads flashwrite.asx -o:PILOTflashwrite.xex diff --git a/various_flashers/8kB_WSFN/makeflashwrite.sh b/various_flashers/8kB_WSFN/makeflashwrite.sh index d01e394..47fe16a 100755 --- a/various_flashers/8kB_WSFN/makeflashwrite.sh +++ b/various_flashers/8kB_WSFN/makeflashwrite.sh @@ -1,2 +1,3 @@ +cd `dirname $0` mads flashwrite.asx -o:WSFNflashwrite.xex diff --git a/various_flashers/M091_Action36ACS_orig/makeflashwrite.sh b/various_flashers/M091_Action36ACS_orig/makeflashwrite.sh index d22ee04..b1b2ac8 100755 --- a/various_flashers/M091_Action36ACS_orig/makeflashwrite.sh +++ b/various_flashers/M091_Action36ACS_orig/makeflashwrite.sh @@ -1,2 +1,3 @@ +cd `dirname $0` mads flashwrite.asx -o:M091ACTION36flashwrite.xex diff --git a/various_flashers/M091_BASICXE41/BASICXEflashwrite.xex b/various_flashers/M091_BASICXE41/BASICXEflashwrite.xex index 820e1d5c56721cdc8f426d946c857505aaa86e73..dacacab2d84ce67fab5a657dadab22db7fd759a7 100644 GIT binary patch delta 2112 zcmZuxeQZ-z6u)iR>^8^Bhq2-ZcYW{my_bxwLSn{@IHt^QKGZ~ofl6LkyY;!zl5S$b zn2tXdC*jT#6OCyaOV@7P>6=r6f+l?Yp`j*&XJ84$KvcxQKjnpwsAy8peVt5=FE8($ zch0%z_dEC8d%l~oO`WkNN+pE*WSSX%6>sM9OTS)f{z+}aZFq@%;?m8l*NXcOPJN#0 z3=9Th+7p4;VAJ|QyuCj#5XL?18;Yg2?!=w`*9HQ84Y;FmrEle`e?;SG4<68Vh481J z9maiaI1&m4L%~$4BQg+*4Pr=}n9Iu|%R!BejfkLGeTmVTyqy&qYR>xpfRF2sZ;czk z3TxKdP_QwDAcov_WYK7sXLOSX-zO#+@7E%+P@#=;fX1|*olxj z+8TWzItVFKNO{Bq2{u?9a3B)I2!0PfWvj8hyWO@Rkwx@w{5nV9Oh4(MTzZ{@-kt7r zP?Ub!K^^HfhqB@4buB51$QVaelH))d=V*pZaB)!k1kx{zkEEf~NS#3$vq~T1rg9wK zCKSgw!%@s}#c?JlI6cP|hKzF*&GZXK1&BVuY$Ayvc1EE8UBD_5jjVt&yTf?v&cP7Z zg7kiYHN1~~VPl(BawnWdp&M@MAx(CI&Z>BbOD>~5U>hHy8GK9xF%1GgD17s_@uPAt zpC2I|d>qcCTkqh>Q6BH&aW|is&!{@_MP70mb{dsTJ7wLb4a)R&Co7(Zl5@Oq&)g5} z1P|uZJjKM|X=!+9c(-0E;a{ZU7|+V)_0u3v8T=`bm+6<)lTxxaKa}3=$?s0T+n_;ZQJN zaDW(MU3pA^{;U!7HG*5ieX*sT$0X=aUJT)~qGNonI@>r?Go zM1x5XL`ts!>^@#@9KXw4>)+$IHiFS9Qvz<#V)C8<{Uq-TEHf}|V&-v<=z>1Mk*PT| z)KlzZfc-){>+mgs`rsrHlz~?*YfRvK zy!x`7N|Ve?OLIG$PS|HG4(~=H*=Mr^WhQN^AHfNcEA>|UyS}@PRpjsrt)T#P-u{bi~DkPfK zBTGfHP&~3kB()-S;Mc|Sg>*BAAIyGdtJA%$RwQ+zH4-JiUdN2t)`l#Kj~*49X(g<} zTO|58IUvTTj*98hYzD(wwM+OHu67ei5uV=L( za#aKm^}(h>zPNso{Z5@>g=Ac`ltmX%#%Q`?{O0r*Pulg9cCyR}OGUdhVqA9mVZCMf zdn$w_d|q;^@M%`#kUukn$0VZ?u6&nUB_B$0zdK=Z4>KnLCuGt$5wg6!9M*{{MSEAld|7i8md7ODQxm*q})@GCMK w8FF1&nR;1Pku&~Vp<45ulMcR9xeVKX1VEDE-8r1?bby3(7gq!HvtKjnm1ODEQ zEK=Y+?bV>H-ZR+@wY!d=Z3ojw_5Afp5nR_lv^#Baj#yCO3JVEv3JY9k5g`W0F2cIW zy<`rR45Vx!z0za^h1HON-y`LqU^bLPLOE<12u0K}&8x zsz5Ms4pdL6cyd1K7kiP>O|U8%UF0YLPDvT(k+%kAA$^ihro>x#+)7uapkj~WZ^S%|&}@)@6N(K0veoNm z0;-(Ea1xh>*_-4rzUN-j()K0Af6{U@0eMcsYg!a6N;SYUI+hzKn9pBdzryDau@(gV%)a6N733ARC0d6@vD zJRSXooV~;g?D|H|R^r!Lp?8U>Ab>_4s|^wKYnkX z*xWGf{MhEVu%Fue4)#89xRf4crT^>-iY;BFJONKF)>g=X?^B34O=GJUX|7h%G4wJ) z@n>|+v3;7h?#d1cEsarjlg4s!RI+?AntngFf(~d<2{O-6u=DdE1L$JLP3yWkM&VcM zt-Q8^c93qi?3ypj37Ryk*de(T*m{(h6|sfO)I18`>xN5VztR|V2=u9zi-8O1Ur^m< z+V%auX#5^kma6p59?d*y zyfExiH5(g|R1L9F2_|PY8KaWN7?C^*%&$Bm!HZGJe5T+ziAAIo7. ; icl '../../lib/atari.hea' +; flash image is included at the end of file ; uncomment when flashing all cart or want to check all blocks written so far. ;.def compareall + BankNum equ $88 Counter equ $89 operation equ $8a @@ -35,21 +35,42 @@ _DEST equ $A000 ; test code org $2000 - jsr $f420 ; clrscr - lda portb - cmp #$fd - beq @+ - jsr print - dta c'Run with BASIC enabled and restart.',0 - jmp * +STARTFLASHWRITE + mva #$A0 106 + jsr opened + lda 20 +@ cmp 20 + beq @- @ lda #$1 sta 66 ; waiting for cart to be inserted jsr print - dta c'Insert cartridge...',0 -@ lda $D013 - lsr - bcc @- + TITLE+128 + dta $9b,c'JatariCart/MaxFlash flasher' + dta $9b + dta c'by JHusak, I.2023' + dta $9b + dta c'JatariCart of size ' + CARTSIZE+128 + dta c' kB needed',$9b,$9b + dta c'Insert JatariCart of ' + CARTSIZE+128 + dta c' kB...',0 + + sta $D500 +?wloop lda $D013 + lsr + bcc ?wloop + + ldx #$25 +?lloop + bit VCOUNT + bmi *-3 + bit VCOUNT + bpl *-3 + dex + bne ?lloop + jsr print dta c' inserted.',$9b,0 @@ -57,33 +78,123 @@ _DEST equ $A000 lda $d013 sta $3fa + ldx #0 ; chip address + stx numchips +_check_chips + stx _storex + jsr check_type + bcc ?_next + jsr print + dta c'unrecognized chip: ',0 + lda m_vendor + jsr printhex + lda m_kind + jsr printhex + cpx #$0 + seq + jmp * + jsr print + dta c'ignoring chip ...',0 + jmp menu +?_next inc numchips + lda numchips + clc + adc #$30 + sta chipno + + jsr print + dta c'chip ' +chipno + dta c'0' + dta c' vend/prod: ',0 + lda m_vendor + jsr printhex + lda m_kind + jsr printhex + jsr print + dta c' code: ',0 + + ; print memory type + lda M_VECTOR + clc + adc #flash_idstr ; will print flashmem text id + sta ?taddr + lda M_VECTOR+1 + adc #0 + sta ?taddr+1 + ldy #0 +?loop ; write string onscreen till 0 + lda ?taddr:$ffff,y + beq ?exit + sty st_y + jsr outchar + ldy st_y:#0 + iny + bne ?loop +?exit + jsr printnl + ldx _storex + cpx #0 + bne menu + lda m_vendor + sta t_vendor + lda m_kind + sta t_kind + ldx #$40 + jmp _check_chips +menu + jsr printnl ;lda #$ff ;sta $d301 jsr print dta c'Press:',$9b dta c'START - format cart and programm',$9b - dta c'SELECT - verify; repair bad blocks.',$9b - dta c'OPTION - verify only',$9b,0 -@ lda 53279 + ;dta c'SELECT - verify; repair bad blocks.',$9b + dta c'OPTION - verify',$9b,0 +?wloop lda 53279 cmp #7 - beq @- + beq ?wloop sta operation cmp #select - beq VERIFYREPAIR + beq ?wloop cmp #option - beq CHECKONLY + jeq CHECKONLY + + cmp #start + beq FORMAT + bne ?wloop + ; start -FORMAT +FORMAT + jsr printformatting jsr print - dta c'Formatting cart ...',0 + dta c'1...',0 + ldx #0 jsr flashformatchip bcs formatfailed + jsr flashend ; restores display etc. + .if .def TWOCHIPS + jsr printdone + jsr printformatting jsr print + dta c'2...',0 + ldx #$40 + jsr flashformatchip + bcs formatfailed + jsr flashend ; restores display etc. + .endif +printdone jsr print dta c'done:)',$9b,0 rts + +printformatting + jsr print + dta c'Formatting cart chip ',0 + rts + formatfailed jsr print dta c'failed:(',$9b,'Waiting for reboot...',$9b,0 @@ -95,8 +206,25 @@ CHECKONLY jsr print dta c'Compare.',$9b,0 rts + +t_vendor .byte 0 +t_kind .byte 0 +numchips .byte 0 +_storex .byte 0 + crcsums :128 dta 0,0 +opened + ldx #0 + lda #12 + jsr icio + mwa #name icbufa,x + mva #$0c icax1,x + mva #$0 icax2,x + lda #3 +icio sta iccmd,x + jmp $e456 +name dta 'E:',$9b CHECKINIT mwa #_SOURCE _csrc @@ -264,9 +392,9 @@ FORMATTED lda _writeaddr+1 clc adc #$20 - sta _cmpaddr + sta _cmpaddr ; only hi byte mwa #_DEST flashaddr - sec + ; sec formatted_next ldx BankNum formatted_next2 @@ -279,7 +407,7 @@ _cmpaddr equ * + 1 lda #$ff cmp _writeaddr+1 bne formatted_next2 - + jsr flashend jmp COMPARE_CRC16_DEST_ALL FINISH_PROCESS @@ -331,48 +459,29 @@ badcompare_tmp2 equ * +1 ;jmp * icl '../../lib/print2.asx' org $2e2 - dta a($2000) + dta a(STARTFLASHWRITE) ; --------------------------------------- -; D500 A000 20 6c offset:$0000 -; D503 A000 85 86 offset $1000 -; D504 A000 20 dd offset $2000 -; All: B000 36 01 offset $3000 ; blocks for every 8kb bank +.rept BANKS, # + .print "A :1" + .local block:1 ;------------ - org BankNum - dta b(0) ; $d500 - dta b(1) ; Counter -;------------ - org _SOURCE - ins "BASIC XE 4.1.rom",+$1000,$1000 - ins "BASIC XE 4.1.rom",+$0000,$1000 + org BankNum + dta b(:1) + dta b(1) ; Counter ;------------ - org $2e2 - dta a(MAIN_PROCESS) + org _SOURCE + BANKS_FILE(:1) ;------------ - org BankNum - dta b(1) ; d501 - dta b(1) ; Counter -;------------ - org _SOURCE - ins "BASIC XE 4.1.rom",+$3000,$1000 - ins "BASIC XE 4.1.rom",+$0000,$1000 + org $2e2 + dta a(MAIN_PROCESS) ;------------ - org $2e2 - dta a(MAIN_PROCESS) -;------------ - org BankNum - dta b(9) ; $d509 - dta b(1) ; Counter -;------------ - org _SOURCE - ins "BASIC XE 4.1.rom",+$2000,$1000 - ins "BASIC XE 4.1.rom",+$0000,$1000 -;------------ - org $2e2 - dta a(MAIN_PROCESS) + .endl + .endr ;------------ + .if .def CUSTOM_CART_LAYOUT + CUSTOM_CART_LAYOUT + .endif -;------------ - org $2e2 - dta a(FINISH_PROCESS) + org $2e2 + dta a(FINISH_PROCESS) diff --git a/various_flashers/M091_BASICXE41/makeflashwrite.sh b/various_flashers/M091_BASICXE41/makeflashwrite.sh index 9e2d0a8..d9813d8 100755 --- a/various_flashers/M091_BASICXE41/makeflashwrite.sh +++ b/various_flashers/M091_BASICXE41/makeflashwrite.sh @@ -1,2 +1,6 @@ -mads flashwrite.asx -o:BASICXEflashwrite.xex +outfile=BASICXEflashwrite +cd `dirname $0` +mads flashwrite.asx -m:macroflashname.asx -o:"$outfile".xex +rm "$outfile".lst + diff --git a/various_flashers/M091_OSSBasicXL103/makeflashwrite.sh b/various_flashers/M091_OSSBasicXL103/makeflashwrite.sh index 7592320..5632b4e 100755 --- a/various_flashers/M091_OSSBasicXL103/makeflashwrite.sh +++ b/various_flashers/M091_OSSBasicXL103/makeflashwrite.sh @@ -1,2 +1,3 @@ +cd `dirname $0` mads flashwrite.asx -o:BASICXLflashwrite.xex diff --git a/various_flashers/flashwriteexample/makeflashwrite.sh b/various_flashers/flashwriteexample/makeflashwrite.sh index 1854ca7..79c3136 100755 --- a/various_flashers/flashwriteexample/makeflashwrite.sh +++ b/various_flashers/flashwriteexample/makeflashwrite.sh @@ -1,2 +1,3 @@ +cd `dirname $0` mads flashwrite.asx -o:flashwrite.xex