From 47fa2ea9edd6d95644978cdc5fedbe512d255e12 Mon Sep 17 00:00:00 2001 From: Jakub Husak Date: Sun, 15 Jan 2023 21:25:49 +0100 Subject: [PATCH] multimemory flasher done --- .../1MBOnEscape/OnEscapeflashwrite.xex | Bin 1052936 -> 1053081 bytes various_flashers/1MBOnEscape/flashwrite.asx | 61 ++++++++++++++---- .../1MBOnEscape/macroflashname.asx | 5 ++ .../1MBOnEscape/makeflashwrite.sh | 3 +- 4 files changed, 54 insertions(+), 15 deletions(-) create mode 100644 various_flashers/1MBOnEscape/macroflashname.asx diff --git a/various_flashers/1MBOnEscape/OnEscapeflashwrite.xex b/various_flashers/1MBOnEscape/OnEscapeflashwrite.xex index d0561e37e1ba971654e5b3e894a7229e38523608..5caee95229ca93be31ca9b7c3cee8ef3dae36ae8 100644 GIT binary patch delta 4083 zcmZ`(e{2)i9X~sE;v`Pugs{4ykQdwMyCXkrvi*_LGD6rO(Bo&T4LX>dU_)GpojC~@ z)YgyhcHZ~S&&f9J zEbG0`eLvs#{eHgh``!!3YJdBFZ77)}&;f>z?tcTdTL+3S6(_#sHT&yO6>~Ly>G7Ah z6LTdGrMO8h4|W_3f<<+bhtDs%mHT_y5Bi`M080 z?;a02HFWw6+Fplz9*^7O?(19OYxM-$kQ_IZ3M{)~ud1plf+Ic?W=Si%zlo6*x!0Y~ zU@$%Vz4RDVA+NI7z=!)LBSv(!TDsaS=m%7{th?P8@NDsK^Fd}e+S250S%?Us zoI;xzp+X*S5s3`;5du%|Hebje@cOnXZb;6|?kkJ8T7*`M+3V!ym4TBS0Xfl5kI(IB z3HaUr6HS)1#qajWW|}g4i@2Yb2@K^WxD91d;#@MB$n9(_Lqk(h;0rLC&zDf|ir3p3eZu3|d62d`J zZtVei%z!=Ynap_M$9>lB5`HV}`mrz{MW0hJ4Z(zJ$ltvq-Daz817Xf>3&J@w3vL^C z!-jfo=xy6fCYJ#{?Q!VLp=p@*m|Kr@Qk8_V%}12KM#uw73XjVBgK17D+#__h!4r1?f$CkUbEt z=j%Xl6O_R(WQV3|K;jMC4iuBqjnbfEj7I;m4ZsnA_P=CPPC=i%)f-4qwUHDyl4dXB zyyT4kv9K)dH5z?R$2X9mZX?MjCpMDOJva>PW*h8h-!iYy3s>1qupK=P{p`>tCM5y1 zK%2NzB=m$kP0E2lnL{>Tv~rh8VbscvV>9TFACTi8Bx_)E*%CX8?Cd{C)^2A_cDBG? zUGwTPXV6LTrtSh{vhz+j3>*=Kzbl302|4XTNza(RXg+|Pqb|XERzPP3%UQvERG4#A zc>bu1J!5A-u(O-&Y_IZvuP3SZm~0d~hhneU*%C_rzt_{2=?R^+FSUO`Ms=N)6uM6f zkgS{%G*J%TfH1a9z#S~75_w>rfO}X$!G+2`QAvfvrtuorIS0it)VV5(qbWWE9idW( z&@2=6V6HdR8qCc!#m%Rb3s2Vz^JQbKwjxFZLtQth8a@-2q1`mUm>Z*lgEy%Du->dlZ<09eL){>IHRbt~xbOohntQkUCYSPFd6`t3vgZY3D^Qe5W%+r0;ZQxSa;EW4ms+6klDN z;uQJATRJ4}IHdba+D3brHL;9k~Tff#j|9h~>pT@|WT#7KupS@yXmwsd}yjtS5 z5A^v+26wJtF!cZftuZr26;%M3m3rc;m81kBNpJ63m7y`U=a8UgO0rHRGcG~7{pcqz-Q|fMMR`flWEbkM;g}Wyd3HB zW#>lb$V2IHu2Ed%%l>7$NOoHCk2Ip`aQ20CEvu%98jVbfvkKZrr&BnE*v1|9jixX3C1xVG0*wJmVuIK?kk z=Uz`&@w1eDU8jK)SNL;xDa{`3npwDcdf{C0>0s{P6o)&LIK@;P18sp3cgTT(Weo<^ zehlgk1HgJb(_vo}drum#r1fk~*`Wsu#Qv+s>1(}h+JA|7{*iGk?cX$QUm%_@$oo{0 zcf^sG5))g4!D&ARqlYoLb`pa-S237+1OUrxQNoIaruxVFClrRV+Fz7H9;O;mvh^@uobPEQf-56XO!r+dC!Bhf(p@@_po_6xz D?7?D* delta 3856 zcmZ{me{56N702K6k2pW<#A(825|Z5b{qSS?N%^B`D4l@;fj&YgRZBZ{dXPA=Q(|Wc zS_9i^q72DJdBN1uq6wukAz^wbFG-bF4^Sm&qfSKN@Mu8mS|KsgQlt&nz>rqNL*wq|WRgHnI4OFp8&yz~rC*dLo=N1f&1j6<;qUkK z9YXE<`wsQ_I=Vdd_4R~E+>%Swo#CgzPtL5el{-h)IMLtOur}f3ja5OFMOQibhW5Ne zB#itK1i;tj5A^x`U8vpb>qS}|-dY_mcgp2Xhp$nTG@le|M8EO)I~scX0v*kWkpCwb zc%b$`hetEVScmU9@h*}VSsx)TqbPA9nM@Q6KR}3^eH10Gs0s9tn_lC*L#V|NL|pBJ zjKnhMxSM|k0fJx=kz5Ui4{tzyp5FbwK6GGz2Rd*t(Ed(;{i)q; zukF~~n)N{e|G~qj2)RmKuq1vwc6`B{II>_=jeLOcdE5z$1R+(}J$QK*iIcT%b`-bKZI+SpCW zUDU!+^(%>p)iSCXh8iZ(ARg7)Dn2#tg9ZHoe_hZ1L+xI4;P4?2)lA5>jMmf|?HPpa zYZ6xcr2v|JmqLF&{=vC`VYNdrcy^> zi`Er_f&P$;Ofn815{sD?|Fa=2wXa-g2Nx$8$c|*BWQ=6g`@ETkeLuC$=lAt{Jskw^ zVj#1rD)q7@v8m;FOKKOiT)Zf#B?Os4f5q1sXr}lEqlE=?gJ$+oVhB^wIa7n+0%H(7C!y|BcJF;+677hLJH?9f09m|Jq)xsIL~D_&<)uMDn5zOEU^ z-L>PyKyc(eSCf{V4O%#hi!spOD+IXBWw_a8<0QLzD`H9I-+(dIZoUrqH5uN_22Q&T_N=m zYUhFu0iI350L+iZ&}L4}f!napA&4(?11*kJW?qenz+eG4CvM`Rq-uyhjbAayR}5mA z8dCoil>v({anW5c#@(D+5Z?r$AheVe*1FXjnj#hmI9S75Iq}>%A-;`+W3k=B2_xIM z;q8%l?)L2qoWtuQ#c9s#Bg7dFPL`S{&%lOFb1ed#ulTe!XNFV18z+R8k$c=u_(R`w z+Fe;&lor$XxVhiuG01w64iWDYBuNO#pt7f%d{z|+8%*}QhGjz<8T64+ADQ%#Ss&%- zBa1%D)kk^yC|@5H=p(B>vgxBjeN?26?E0u!A3dj!O7u~wK3b)Zexi?ls*fD{Xth2n z(?{j{XpKIq&_|W}s7fCpeN?TFocf4Lp~#@2Qu)U_rh8TRveFrI`6wDTaSA*>%P=Mz z%|MP`zG%r&o=lmZRpOcK%FNd5ru@;J*GyKW{+ekiGu@SP_%pl*NX7QRWXjmN%tS%? zz12LCF|W;-OB8pl`C-QVvlVk2zhbUQng8!grZ$a!6*g}*DB~mMOBL|;QQD`>g-8?q z*RUA+Cl(QFP8yx5#bS=fV*Vf&OT$V|=_x#pWs%)yW zB&xKf*Y8?!*pR8~qfz^iC1yrk zFJ}Q=IJ)qSr9}Do8%wNMTY2aKtgMNMEf?2XhsE43EarQ#SQ4>Vma%vo!@?NHqNFe{ z9fzvNVtp$Jd^TQ5Wioo2%yB9Kf8O0pO?)=PUy#b_6M2_2sqe~yCQ_N4$-7pWYSki+ zJrrMw-IjIjA(ec4{%FeeOnrVjpSe~n=KWYKjbO1njm6_dEQ~*3QBqWZ%V_|Ct9UD2 z#b*uqjY`k%f}5EtewnsE9L^P$uLA||rh2>g#LC3CvlAv) z#l2|2Vs1AU^8qZDPJqDqc(P$%RM=VT)l5E}X*=xpI;CE-k??V41NRO~gB0D&{@O|L*+ zD){z~ujU_8o)i~OrQ6h4h}+bL#e6RoOJOXQXR&y!VqtuUMM-fHZqqs}*6+b$%dfH6 ZdlHNGkFe;!fyK~65V;p=?H`gd=D(Vye{BE& diff --git a/various_flashers/1MBOnEscape/flashwrite.asx b/various_flashers/1MBOnEscape/flashwrite.asx index dce227a..171a690 100644 --- a/various_flashers/1MBOnEscape/flashwrite.asx +++ b/various_flashers/1MBOnEscape/flashwrite.asx @@ -1,4 +1,4 @@ -; JatariCart256 Action!3.6 flasher +; JatariCart256 flasher ; by Jakub Husak , 04.01.2020 ; All Rights Reserved. ; @@ -16,9 +16,13 @@ ; along with JatariCart256. If not, see . ; 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 -.def TWOCHIPS +.if .not .def CUSTOM_CART_LAYOUT + .define CUSTOM_CART_LAYOUT +.endif + BankNum equ $88 Counter equ $89 operation equ $8a @@ -44,11 +48,32 @@ STARTFLASHWRITE sta 66 ; waiting for cart to be inserted jsr print - dta c'Insert cartridge...',0 + 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 -@ lda $D013 +?wloop lda $D013 lsr - bcc @- + bcc ?wloop + + ldx #$25 +?lloop + bit VCOUNT + bmi *-3 + bit VCOUNT + bpl *-3 + dex + bne ?lloop + jsr print dta c' inserted.',$9b,0 @@ -128,18 +153,23 @@ menu 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 jeq CHECKONLY + + cmp #start + beq FORMAT + bne ?wloop + ; start FORMAT jsr printformatting @@ -148,6 +178,7 @@ FORMAT ldx #0 jsr flashformatchip bcs formatfailed + jsr flashend ; restores display etc. .if .def TWOCHIPS jsr printdone jsr printformatting @@ -156,6 +187,7 @@ FORMAT ldx #$40 jsr flashformatchip bcs formatfailed + jsr flashend ; restores display etc. .endif printdone jsr print dta c'done:)',$9b,0 @@ -378,7 +410,7 @@ _cmpaddr equ * + 1 lda #$ff cmp _writeaddr+1 bne formatted_next2 - + jsr flashend jmp COMPARE_CRC16_DEST_ALL FINISH_PROCESS @@ -417,7 +449,7 @@ badcompare_tmp2 equ * +1 sec jmp dmaon ; ------- - icl '../../lib/flashwritelib_new.asx' + icl '../../lib/flashwritelib.asx' icl '../../lib/crc16_v2.asm' @@ -433,7 +465,7 @@ badcompare_tmp2 equ * +1 dta a(STARTFLASHWRITE) ; --------------------------------------- ; blocks for every 8kb bank -.rept 128, # +.rept BANKS, # .print "A :1" .local block:1 ;------------ @@ -442,7 +474,7 @@ badcompare_tmp2 equ * +1 dta b(1) ; Counter ;------------ org _SOURCE - ins "onEscape (14.12. 2022).rom",+:1*8192,8192 + MACRO_FILE(:1) ;------------ org $2e2 dta a(MAIN_PROCESS) @@ -450,6 +482,7 @@ badcompare_tmp2 equ * +1 .endl .endr ;------------ + CUSTOM_CART_LAYOUT org $2e2 dta a(FINISH_PROCESS) diff --git a/various_flashers/1MBOnEscape/macroflashname.asx b/various_flashers/1MBOnEscape/macroflashname.asx new file mode 100644 index 0000000..1609131 --- /dev/null +++ b/various_flashers/1MBOnEscape/macroflashname.asx @@ -0,0 +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 TWOCHIPS diff --git a/various_flashers/1MBOnEscape/makeflashwrite.sh b/various_flashers/1MBOnEscape/makeflashwrite.sh index 4fa1978..3a54c34 100755 --- a/various_flashers/1MBOnEscape/makeflashwrite.sh +++ b/various_flashers/1MBOnEscape/makeflashwrite.sh @@ -1,2 +1,3 @@ -mads flashwrite.asx -o:OnEscapeflashwrite.xex +cd `dirname $0` +mads flashwrite.asx -m:macroflashname.asx -o:OnEscapeflashwrite.xex