From 1210ff70f8bd5ad905db55230da2b9dd89fd39ab Mon Sep 17 00:00:00 2001 From: Jakub Husak Date: Mon, 30 Jan 2023 13:55:12 +0100 Subject: [PATCH] more flashers converted --- ...artridges Tucker, Steve 2011-07-23][!].bin | Bin .../flashwrite.asx | 0 .../macroflashname.asx | 0 .../makeflashwrite.sh | 0 .../readme | 0 .../spaceharrierflashwrite.xex | Bin .../PoP_Atarimax_20211024_final.car | Bin .../PoPflashwrite.xex | Bin .../flashwrite.asx | 0 .../flashwritelib.asx | 0 .../makeflashwrite.sh | 0 .../missile.bin | Bin ...ashwrite.xex => M091_BASICXE41flasher.xex} | Bin 27054 -> 27059 bytes .../M091_BASICXE41/basicxe_128.rom | Bin 0 -> 131072 bytes .../M091_BASICXE41/flashwrite.asx | 487 ------------------ .../M091_BASICXE41/macroflashname.asx | 46 ++ .../M091_BASICXE41/makeflashwrite.sh | 6 - .../M091_BASICXE41/{readme => readme.md} | 0 .../M091_OSSBasicXL103/BASICXLflashwrite.xex | Bin 26321 -> 0 bytes .../M091_OSSBasicXL103/flashwrite.asx | 378 -------------- .../M091_OSSBasicXL103/makeflashwrite.sh | 3 - .../M091_OSSBasicXL103/{readme => readme.md} | 0 .../flashwriteexample/flashwrite.asx | 358 ------------- .../flashwriteexample/flashwrite.xex | Bin 9905 -> 0 bytes .../flashwriteexample/makeflashwrite.sh | 3 - various_flashers/readme.md | 17 +- 26 files changed, 55 insertions(+), 1243 deletions(-) rename various_flashers/{1MB39sf040x2_SpaceHarrier => 1MBSpaceHarrier}/Space Harrier (2011-07-05)(Hutt, Chris)(GB)[f for older cartridges Tucker, Steve 2011-07-23][!].bin (100%) rename various_flashers/{1MB39sf040x2_SpaceHarrier => 1MBSpaceHarrier}/flashwrite.asx (100%) rename various_flashers/{1MB39sf040x2_SpaceHarrier => 1MBSpaceHarrier}/macroflashname.asx (100%) rename various_flashers/{1MB39sf040x2_SpaceHarrier => 1MBSpaceHarrier}/makeflashwrite.sh (100%) rename various_flashers/{1MB39sf040x2_SpaceHarrier => 1MBSpaceHarrier}/readme (100%) rename various_flashers/{1MB39sf040x2_SpaceHarrier => 1MBSpaceHarrier}/spaceharrierflashwrite.xex (100%) rename various_flashers/{256kPOP => 256kPrinceOfPersia}/PoP_Atarimax_20211024_final.car (100%) rename various_flashers/{256kPOP => 256kPrinceOfPersia}/PoPflashwrite.xex (100%) rename various_flashers/{256kPOP => 256kPrinceOfPersia}/flashwrite.asx (100%) rename various_flashers/{256kPOP => 256kPrinceOfPersia}/flashwritelib.asx (100%) rename various_flashers/{256kPOP => 256kPrinceOfPersia}/makeflashwrite.sh (100%) rename various_flashers/{flashwriteexample => Example_MissileCommand}/missile.bin (100%) rename various_flashers/M091_BASICXE41/{BASICXEflashwrite.xex => M091_BASICXE41flasher.xex} (91%) create mode 100644 various_flashers/M091_BASICXE41/basicxe_128.rom delete mode 100644 various_flashers/M091_BASICXE41/flashwrite.asx create mode 100644 various_flashers/M091_BASICXE41/macroflashname.asx delete mode 100755 various_flashers/M091_BASICXE41/makeflashwrite.sh rename various_flashers/M091_BASICXE41/{readme => readme.md} (100%) delete mode 100644 various_flashers/M091_OSSBasicXL103/BASICXLflashwrite.xex delete mode 100644 various_flashers/M091_OSSBasicXL103/flashwrite.asx delete mode 100755 various_flashers/M091_OSSBasicXL103/makeflashwrite.sh rename various_flashers/M091_OSSBasicXL103/{readme => readme.md} (100%) delete mode 100644 various_flashers/flashwriteexample/flashwrite.asx delete mode 100644 various_flashers/flashwriteexample/flashwrite.xex delete mode 100755 various_flashers/flashwriteexample/makeflashwrite.sh diff --git a/various_flashers/1MB39sf040x2_SpaceHarrier/Space Harrier (2011-07-05)(Hutt, Chris)(GB)[f for older cartridges Tucker, Steve 2011-07-23][!].bin b/various_flashers/1MBSpaceHarrier/Space Harrier (2011-07-05)(Hutt, Chris)(GB)[f for older cartridges Tucker, Steve 2011-07-23][!].bin similarity index 100% rename from various_flashers/1MB39sf040x2_SpaceHarrier/Space Harrier (2011-07-05)(Hutt, Chris)(GB)[f for older cartridges Tucker, Steve 2011-07-23][!].bin rename to various_flashers/1MBSpaceHarrier/Space Harrier (2011-07-05)(Hutt, Chris)(GB)[f for older cartridges Tucker, Steve 2011-07-23][!].bin diff --git a/various_flashers/1MB39sf040x2_SpaceHarrier/flashwrite.asx b/various_flashers/1MBSpaceHarrier/flashwrite.asx similarity index 100% rename from various_flashers/1MB39sf040x2_SpaceHarrier/flashwrite.asx rename to various_flashers/1MBSpaceHarrier/flashwrite.asx diff --git a/various_flashers/1MB39sf040x2_SpaceHarrier/macroflashname.asx b/various_flashers/1MBSpaceHarrier/macroflashname.asx similarity index 100% rename from various_flashers/1MB39sf040x2_SpaceHarrier/macroflashname.asx rename to various_flashers/1MBSpaceHarrier/macroflashname.asx diff --git a/various_flashers/1MB39sf040x2_SpaceHarrier/makeflashwrite.sh b/various_flashers/1MBSpaceHarrier/makeflashwrite.sh similarity index 100% rename from various_flashers/1MB39sf040x2_SpaceHarrier/makeflashwrite.sh rename to various_flashers/1MBSpaceHarrier/makeflashwrite.sh diff --git a/various_flashers/1MB39sf040x2_SpaceHarrier/readme b/various_flashers/1MBSpaceHarrier/readme similarity index 100% rename from various_flashers/1MB39sf040x2_SpaceHarrier/readme rename to various_flashers/1MBSpaceHarrier/readme diff --git a/various_flashers/1MB39sf040x2_SpaceHarrier/spaceharrierflashwrite.xex b/various_flashers/1MBSpaceHarrier/spaceharrierflashwrite.xex similarity index 100% rename from various_flashers/1MB39sf040x2_SpaceHarrier/spaceharrierflashwrite.xex rename to various_flashers/1MBSpaceHarrier/spaceharrierflashwrite.xex diff --git a/various_flashers/256kPOP/PoP_Atarimax_20211024_final.car b/various_flashers/256kPrinceOfPersia/PoP_Atarimax_20211024_final.car similarity index 100% rename from various_flashers/256kPOP/PoP_Atarimax_20211024_final.car rename to various_flashers/256kPrinceOfPersia/PoP_Atarimax_20211024_final.car diff --git a/various_flashers/256kPOP/PoPflashwrite.xex b/various_flashers/256kPrinceOfPersia/PoPflashwrite.xex similarity index 100% rename from various_flashers/256kPOP/PoPflashwrite.xex rename to various_flashers/256kPrinceOfPersia/PoPflashwrite.xex diff --git a/various_flashers/256kPOP/flashwrite.asx b/various_flashers/256kPrinceOfPersia/flashwrite.asx similarity index 100% rename from various_flashers/256kPOP/flashwrite.asx rename to various_flashers/256kPrinceOfPersia/flashwrite.asx diff --git a/various_flashers/256kPOP/flashwritelib.asx b/various_flashers/256kPrinceOfPersia/flashwritelib.asx similarity index 100% rename from various_flashers/256kPOP/flashwritelib.asx rename to various_flashers/256kPrinceOfPersia/flashwritelib.asx diff --git a/various_flashers/256kPOP/makeflashwrite.sh b/various_flashers/256kPrinceOfPersia/makeflashwrite.sh similarity index 100% rename from various_flashers/256kPOP/makeflashwrite.sh rename to various_flashers/256kPrinceOfPersia/makeflashwrite.sh diff --git a/various_flashers/flashwriteexample/missile.bin b/various_flashers/Example_MissileCommand/missile.bin similarity index 100% rename from various_flashers/flashwriteexample/missile.bin rename to various_flashers/Example_MissileCommand/missile.bin diff --git a/various_flashers/M091_BASICXE41/BASICXEflashwrite.xex b/various_flashers/M091_BASICXE41/M091_BASICXE41flasher.xex similarity index 91% rename from various_flashers/M091_BASICXE41/BASICXEflashwrite.xex rename to various_flashers/M091_BASICXE41/M091_BASICXE41flasher.xex index dacacab2d84ce67fab5a657dadab22db7fd759a7..f50db12a828551ea6e37a2b92690bd5a8eb90627 100644 GIT binary patch delta 1474 zcmYjQT}T{P6uz_Tn$dhC-kO8siw_ik;?LsHs8YZBsv>3|BpB&3x4zZaP?r#;qhi zc<>-HK5O;*B;F^9Ry&nj!RD!|9e)x_3>`|2j}CQW#Q*0EEb!pyP|O$C5z(rnCt7(u zu@LQRbqQYJG*7iH$qf}8?2snRiZK0AvxIWpIfQ>x+%a*@e+T=f=YH|R0h zTl8r`=1gAAxLXXZjj3)3NK!2wqM1!z@6yM?;}AYEnmBM~;Ot-=pE`FoCU+t}ruyYh z`gZ`2*wq#L-=2`CTi9v5^k_cI9DIWSSptG3_0|{eAI8f{K1+`(DT+2lepI0=3Qj9H zt~?K9hViyNQX!@n6i9<9Zeth{fgi|D0d7NKm~JYpJdv5Wz{_R)m*y=fekuyz0D5Or zxdZe8`?30pHoYgGneCVI7iLY#L@0mZt|_^peCBSyWJ37b5VRwojk0b49EU7er?K>? z10b#_BY4seSI__j*YHCne{nVB1`SnN4FZ|)E8VREsved1sG^1GG4;9qeAb8driO25 zUbhP9dQ?_k>rvf@&}HL@0_D8aYbC6YZ-~X7}0mU^cB1Uz@xUU+u5#zCH{G-0!ajdsJ)s9&0bPay2 zvUZpSiX1rR4(Aix65%a&u(GZVnCdx`%hx!*#-(dqoa6iEc=McTd>b*oj2OKUBmMMb z?8B9@+82otBF0YEAMQ4mMNU19M|9ia`NfhE+U zyuladx?atp)bP{_>0p)c3=eATFy$mwTp_dNO$S3OcWGGAmO^(pseNeN)6mowq1z+{ zKz&u2OrK2U(9Uxx3^ddupkVD#FmRXR+x~BH3-YkbyY>sa?ET^9^gT^9@jb1>Ou-vx z4KHYJB~0{j(WG-)Dk?rj6Zdr#bl`MeqnEW(kXCPmqu%WRza5}0Zd`LXsA*1f-UI5* zYwm9EGPnZQtZeFC?(aT_RuPQyZPQ_r+$!FtN4c&?O_(Q7*WpQWt{SP?FHAy$lP-2M zDx>KiWtsGKDF>6`%Fd)od*X#cVWWdp{bR%aQG3u8l%aDIhr)fEtVWK7V*R0D?O9}2S?q}`jYitIkpmpwL{s*?Pb0BVXS6G#o(u(XXISlP z#K`ngyh}3I+UqS;bjkNISgKu-XiSZCEnDH*+FB$J))d+}vyJnq^=xYm*w_wmJ^m~d z3D)%~v1ssr-oONRMuQ<6uAn}39ot`HuAwSoZ8bWYDV2(=hmX|YsRuf`Vij?hls~}T zLe^Sf#P)H(i0$Xn&GID-DqN+FI`+QxuO0Udn@$?xQ932z^CBR@Xe87qoka@lTcfew zj{g2-?j5oIl>}^!hMnBjH#sob7mBGzPvDM75FNh@cD5b_mV<}w_JsB zzL2x!1aFS>a|!F3f#!RN8c~mhLqQ~W5g>Qr736P%!J z>}vu&VrPi$8K~CTaE@mtF(-JIe+ENBg>E}w4{3mE%OxVa{qk=_UhS735&0q6*08s= zK3kbM(*Ab)Hg52n)#HkhVn|nvlD)#f;0@a5vQ1Ur_~n#e-sP81F8`z zmHD)f%Jz86sf?)ngI_K!|EIK>ve3YoU-Vxl`l{h|6fcM-(wUc<4xPcn zZ<%`7)-lk5gL5KFYki)VU(JYYOw`{4v~W(eRu|H66FeCuMQXMd>>ZjzFh|2VZOXH` zVnT!=m=u+f32}H*yXJYfb*JPDs}3eeVHGhV!5CTPCXoWBAO#c{rh*{B6(U)8(ntx6 r9Fq3Hhd-1+6_zSjHu*!-p>jWVJf0o~2*kI$E3xOX@Tc>(vz`10KeAYn diff --git a/various_flashers/M091_BASICXE41/basicxe_128.rom b/various_flashers/M091_BASICXE41/basicxe_128.rom new file mode 100644 index 0000000000000000000000000000000000000000..71b334788d3398f9e0f14c42cdf16dd43d5e630e GIT binary patch literal 131072 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 literal 0 HcmV?d00001 diff --git a/various_flashers/M091_BASICXE41/flashwrite.asx b/various_flashers/M091_BASICXE41/flashwrite.asx deleted file mode 100644 index 6f97160..0000000 --- a/various_flashers/M091_BASICXE41/flashwrite.asx +++ /dev/null @@ -1,487 +0,0 @@ -; JatariCart256 flasher -; by Jakub Husak , 04.01.2020 -; All Rights Reserved. -; -; 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. -; -; 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. -; -; You should have received a copy of the GNU General Public License -; 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 - -BankNum equ $88 -Counter equ $89 -operation equ $8a -start equ 6 ; format chip and program -select equ 5 ; ferify and format sectors -option equ 3 ; verify -outchar equ $F2B0 -memtop equ $2e5 -dmactls equ $22f - -_SOURCE equ $6000 -_DEST equ $A000 - -; test code - org $2000 -STARTFLASHWRITE - mva #$A0 106 - jsr opened - lda 20 -@ cmp 20 - beq @- -@ lda #$1 - sta 66 - ; waiting for cart to be inserted - jsr print - 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 - - ; cart inserted, fake it was not changed - 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',$9b,0 -?wloop lda 53279 - cmp #7 - beq ?wloop - sta operation - - cmp #select - beq ?wloop - - cmp #option - jeq CHECKONLY - - cmp #start - beq FORMAT - bne ?wloop - - ; start -FORMAT - jsr printformatting - jsr print - 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 - jmp * -VERIFYREPAIR - jsr print - dta c'Verify and ',0 -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 - mwa #_DEST _cdst - sei -CHECK - - mva #0 badcompare_counter - sta badcompare_counter+1 - ldx BankNum - sta $d500,x -checkloop -_csrc equ * + 1 - lda $6000 ; src -_cdst equ * + 1 - cmp $A000 ; dst - beq @+ - lda _csrc - ldx _csrc+1 - jsr BADCOMPARE -@ inw _csrc - inw _cdst - lda _csrc+1 - cmp #>_SOURCE+$20 - bne checkloop - cpw #0 badcompare_counter - beq @+ - sta $d580 - lda $d013 - sta $3fa - cli - jsr print - dta c'non-match byte#:',0 - lda badcompare_counter+1 - jsr printhex - lda badcompare_counter - jsr printhex - jsr printnl - sec - rts -@ sta $d580 - lda $d013 - sta $3fa - cli - lda #'o' - jsr outchar -@ clc -dmaon mva #34 dmactls - sta dmactl - rts -VERIFY - ;mwa #_SOURCE _csrc - ;mwa #_DEST _cdst - jsr CHECKINIT - bcc v_rts - lda #'f' - jsr outchar - ldx BankNum - lda #$a0 - jsr flashformatsector - ldx BankNum - lda #$b0 - jsr flashformatsector - jsr FORMATTED - dec Counter - bne VERIFY -v_rts jmp dmaon - -COMPARE_CRC16_DEST_ALL - lda BankNum - sta _tbanknum -@ sei -_tbanknum equ * + 1 - sta $D500 - clc - mva _tbanknum calccrc_bank - jsr CALCCRC_DEST - jsr status_crc - .ifdef compareall - dec _tbanknum - bpl @- - .endif - sta $D580 - lda $d013 - sta $3fa - cli - rts -status_crc - php - jsr printBank_t - plp - php - sne - lda #'o' - plp - seq - lda #'!' - jsr outchar - lda #',' - jmp outchar - - -CALCCRC_DEST - php - mwa #_DEST _tsrc - bne crccont - -CALCCRC ; c=1 - write; c=0 - check - php - mwa #_SOURCE _tsrc - mwa #$2000 _tcnt -crccont mwa #$ffff crc16.crc -_tsrc equ * + 1 - lda $ffff - jsr crc16.updCRC - inw _tsrc - dew _tcnt - bne _tsrc -1 -calccrc_bank equ * +1 - lda #$ba ; nk number - asl - tax - plp - bcc crccheck - mwa crc16.crc crcsums,x - rts -_tcnt :2 dta 0 -crccheck - cpw crc16.crc crcsums,x - rts - - -printBank_t - lda _tbanknum - bpl @+ -printBank - jsr printnl - lda BankNum -@ pha - lda #'B' - jsr outchar - pla - jsr printhex - lda #':' - jmp outchar - -MAIN_PROCESS - ;mva #0 dmactls - ;sta dmactl - sec - mva BankNum calccrc_bank - jsr CALCCRC - mwa #_DEST flashaddr - jsr printBank - - lda operation - cmp #select - jeq VERIFY - - cmp #option - jeq CHECKINIT - -FORMATTED - mwa #_SOURCE _writeaddr - lda _writeaddr+1 - clc - adc #$20 - sta _cmpaddr ; only hi byte - mwa #_DEST flashaddr - ; sec -formatted_next - ldx BankNum -formatted_next2 -_writeaddr equ *+1 - lda $ffff - jsr flashwritebyte - jsr flashincaddr - inw _writeaddr -_cmpaddr equ * + 1 - lda #$ff - cmp _writeaddr+1 - bne formatted_next2 - jsr flashend - jmp COMPARE_CRC16_DEST_ALL - -FINISH_PROCESS - jsr print - dta $9b,'Finished',0 - jmp * - rts -badcompare_counter dta 0,0 -BADCOMPARE - ldy 53279 - cpy #7 - beq @+ - pha - txa - pha - lda #'!' - jsr outchar - pla - jsr printhex - pla - jsr printhex - lda #':' - jsr outchar - mwa _csrc badcompare_tmp1 -badcompare_tmp1 equ * +1 - lda $ffff - jsr printhex - lda #'/' - jsr outchar - mwa _cdst badcompare_tmp2 -badcompare_tmp2 equ * +1 - lda $ffff - jsr printhex - jsr printnl -@ inw badcompare_counter - sec - jmp dmaon -; ------- - icl '../../lib/flashwritelib.asx' - - icl '../../lib/crc16_v2.asm' - - ;jsr print - ;dta c'AlaMaKota.',$9b,0 - ;lda #$55 - ;jsr printhex - ;lda #$aa - ;jsr printhex - ;jmp * - icl '../../lib/print2.asx' - org $2e2 - dta a(STARTFLASHWRITE) -; --------------------------------------- -; blocks for every 8kb bank -.rept BANKS, # - .print "A :1" - .local block:1 -;------------ - org BankNum - dta b(:1) - dta b(1) ; Counter -;------------ - org _SOURCE - BANKS_FILE(:1) -;------------ - org $2e2 - dta a(MAIN_PROCESS) -;------------ - .endl - .endr -;------------ - .if .def CUSTOM_CART_LAYOUT - CUSTOM_CART_LAYOUT - .endif - - org $2e2 - dta a(FINISH_PROCESS) diff --git a/various_flashers/M091_BASICXE41/macroflashname.asx b/various_flashers/M091_BASICXE41/macroflashname.asx new file mode 100644 index 0000000..5457247 --- /dev/null +++ b/various_flashers/M091_BASICXE41/macroflashname.asx @@ -0,0 +1,46 @@ +; Action!3.6: Copyright 1983 by Clinton W Parker. +; D500 A000 20 6c offset:$0000 +; D503 A000 85 86 offset $1000 +; D504 A000 20 dd offset $2000 +; All: B000 36 01 offset $3000 +; +.define TITLE dta c'BASICXE 4.1' +.define CARTSIZE dta c'>=128' +.define BANKS 0 + +.macro CUSTOM_CART_LAYOUT +;------------ + 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 $2e2 + dta a(MAIN_PROCESS) +;------------ + 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 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) +;------------ +.endm diff --git a/various_flashers/M091_BASICXE41/makeflashwrite.sh b/various_flashers/M091_BASICXE41/makeflashwrite.sh deleted file mode 100755 index d9813d8..0000000 --- a/various_flashers/M091_BASICXE41/makeflashwrite.sh +++ /dev/null @@ -1,6 +0,0 @@ -outfile=BASICXEflashwrite -cd `dirname $0` -mads flashwrite.asx -m:macroflashname.asx -o:"$outfile".xex -rm "$outfile".lst - - diff --git a/various_flashers/M091_BASICXE41/readme b/various_flashers/M091_BASICXE41/readme.md similarity index 100% rename from various_flashers/M091_BASICXE41/readme rename to various_flashers/M091_BASICXE41/readme.md diff --git a/various_flashers/M091_OSSBasicXL103/BASICXLflashwrite.xex b/various_flashers/M091_OSSBasicXL103/BASICXLflashwrite.xex deleted file mode 100644 index c8a992eafaee91db96b960f16c0ee7b798b55b9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26321 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 b_W>?{AK>!$0WN. -; - icl '../../lib/atari.hea' -; 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 -start equ 6 ; format chip and program -select equ 5 ; ferify and format sectors -option equ 3 ; verify -outchar equ $F2B0 -memtop equ $2e5 -dmactls equ $22f - -_SOURCE equ $6000 -_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 * -@ lda #$1 - sta 66 - ; waiting for cart to be inserted - jsr print - dta c'Insert cartridge...',0 -@ lda $D013 - lsr - bcc @- - jsr print - dta c' inserted.',$9b,0 - - ; cart inserted, fake it was not changed - lda $d013 - sta $3fa - - ;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 - cmp #7 - beq @- - sta operation - - cmp #select - beq VERIFYREPAIR - - cmp #option - beq CHECKONLY - ; start -FORMAT - jsr print - dta c'Formatting cart ...',0 - jsr flashformatchip - bcs formatfailed - jsr print - dta c'done:)',$9b,0 - rts -formatfailed - jsr print - dta c'failed:(',$9b,'Waiting for reboot...',$9b,0 - jmp * -VERIFYREPAIR - jsr print - dta c'Verify and ',0 -CHECKONLY - jsr print - dta c'Compare.',$9b,0 - rts -crcsums - :128 dta 0,0 - -CHECKINIT - mwa #_SOURCE _csrc - mwa #_DEST _cdst - sei -CHECK - - mva #0 badcompare_counter - sta badcompare_counter+1 - ldx BankNum - sta $d500,x -checkloop -_csrc equ * + 1 - lda $6000 ; src -_cdst equ * + 1 - cmp $A000 ; dst - beq @+ - lda _csrc - ldx _csrc+1 - jsr BADCOMPARE -@ inw _csrc - inw _cdst - lda _csrc+1 - cmp #>_SOURCE+$20 - bne checkloop - cpw #0 badcompare_counter - beq @+ - sta $d580 - lda $d013 - sta $3fa - cli - jsr print - dta c'non-match byte#:',0 - lda badcompare_counter+1 - jsr printhex - lda badcompare_counter - jsr printhex - jsr printnl - sec - rts -@ sta $d580 - lda $d013 - sta $3fa - cli - lda #'o' - jsr outchar -@ clc -dmaon mva #34 dmactls - sta dmactl - rts -VERIFY - ;mwa #_SOURCE _csrc - ;mwa #_DEST _cdst - jsr CHECKINIT - bcc v_rts - lda #'f' - jsr outchar - ldx BankNum - lda #$a0 - jsr flashformatsector - ldx BankNum - lda #$b0 - jsr flashformatsector - jsr FORMATTED - dec Counter - bne VERIFY -v_rts jmp dmaon - -COMPARE_CRC16_DEST_ALL - lda BankNum - sta _tbanknum -@ sei -_tbanknum equ * + 1 - sta $D500 - clc - mva _tbanknum calccrc_bank - jsr CALCCRC_DEST - jsr status_crc - .ifdef compareall - dec _tbanknum - bpl @- - .endif - sta $D580 - lda $d013 - sta $3fa - cli - rts -status_crc - php - jsr printBank_t - plp - php - sne - lda #'o' - plp - seq - lda #'!' - jsr outchar - lda #',' - jmp outchar - - -CALCCRC_DEST - php - mwa #_DEST _tsrc - bne crccont - -CALCCRC ; c=1 - write; c=0 - check - php - mwa #_SOURCE _tsrc - mwa #$2000 _tcnt -crccont mwa #$ffff crc16.crc -_tsrc equ * + 1 - lda $ffff - jsr crc16.updCRC - inw _tsrc - dew _tcnt - bne _tsrc -1 -calccrc_bank equ * +1 - lda #$ba ; nk number - asl - tax - plp - bcc crccheck - mwa crc16.crc crcsums,x - rts -_tcnt :2 dta 0 -crccheck - cpw crc16.crc crcsums,x - rts - - -printBank_t - lda _tbanknum - bpl @+ -printBank - jsr printnl - lda BankNum -@ pha - lda #'B' - jsr outchar - pla - jsr printhex - lda #':' - jmp outchar - -MAIN_PROCESS - ;mva #0 dmactls - ;sta dmactl - sec - mva BankNum calccrc_bank - jsr CALCCRC - mwa #_DEST flashaddr - jsr printBank - - lda operation - cmp #select - jeq VERIFY - - cmp #option - jeq CHECKINIT - -FORMATTED - mwa #_SOURCE _writeaddr - lda _writeaddr+1 - clc - adc #$20 - sta _cmpaddr - mwa #_DEST flashaddr - sec -formatted_next - ldx BankNum -formatted_next2 -_writeaddr equ *+1 - lda $ffff - jsr flashwritebyte - jsr flashincaddr - inw _writeaddr -_cmpaddr equ * + 1 - lda #$ff - cmp _writeaddr+1 - bne formatted_next2 - - jmp COMPARE_CRC16_DEST_ALL - -FINISH_PROCESS - jsr print - dta $9b,'Finished',0 - jmp * - rts -badcompare_counter dta 0,0 -BADCOMPARE - ldy 53279 - cpy #7 - beq @+ - pha - txa - pha - lda #'!' - jsr outchar - pla - jsr printhex - pla - jsr printhex - lda #':' - jsr outchar - mwa _csrc badcompare_tmp1 -badcompare_tmp1 equ * +1 - lda $ffff - jsr printhex - lda #'/' - jsr outchar - mwa _cdst badcompare_tmp2 -badcompare_tmp2 equ * +1 - lda $ffff - jsr printhex - jsr printnl -@ inw badcompare_counter - sec - jmp dmaon -; ------- - icl '../../lib/flashwritelib.asx' - - icl '../../lib/crc16_v2.asm' - - ;jsr print - ;dta c'AlaMaKota.',$9b,0 - ;lda #$55 - ;jsr printhex - ;lda #$aa - ;jsr printhex - ;jmp * - icl '../../lib/print2.asx' - org $2e2 - dta a($2000) -; --------------------------------------- -; 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 -;------------ - org BankNum - dta b(0) ; $d500 - dta b(1) ; Counter -;------------ - org _SOURCE - ins "OSSBasicXL103.rom",+$1000,$1000 - ins "OSSBasicXL103.rom",+$0000,$1000 -;------------ - org $2e2 - dta a(MAIN_PROCESS) -;------------ - org BankNum - dta b(1) ; d501 - dta b(1) ; Counter -;------------ - org _SOURCE - ins "OSSBasicXL103.rom",+$3000,$1000 - ins "OSSBasicXL103.rom",+$0000,$1000 -;------------ - org $2e2 - dta a(MAIN_PROCESS) -;------------ - org BankNum - dta b(9) ; $d509 - dta b(1) ; Counter -;------------ - org _SOURCE - ins "OSSBasicXL103.rom",+$2000,$1000 - ins "OSSBasicXL103.rom",+$0000,$1000 -;------------ - org $2e2 - dta a(MAIN_PROCESS) -;------------ - -;------------ - org $2e2 - dta a(FINISH_PROCESS) diff --git a/various_flashers/M091_OSSBasicXL103/makeflashwrite.sh b/various_flashers/M091_OSSBasicXL103/makeflashwrite.sh deleted file mode 100755 index 5632b4e..0000000 --- a/various_flashers/M091_OSSBasicXL103/makeflashwrite.sh +++ /dev/null @@ -1,3 +0,0 @@ -cd `dirname $0` -mads flashwrite.asx -o:BASICXLflashwrite.xex - diff --git a/various_flashers/M091_OSSBasicXL103/readme b/various_flashers/M091_OSSBasicXL103/readme.md similarity index 100% rename from various_flashers/M091_OSSBasicXL103/readme rename to various_flashers/M091_OSSBasicXL103/readme.md diff --git a/various_flashers/flashwriteexample/flashwrite.asx b/various_flashers/flashwriteexample/flashwrite.asx deleted file mode 100644 index a600c8a..0000000 --- a/various_flashers/flashwriteexample/flashwrite.asx +++ /dev/null @@ -1,358 +0,0 @@ -; JatariCart256 flasher -; by Jakub Husak , 04.01.2020 -; All Rights Reserved. -; -; JatariCart256 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, -; 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. -; -; You should have received a copy of the GNU General Public License -; along with JatariCart256. If not, see . -; - icl '../../lib/atari.hea' -; 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 -start equ 6 ; format chip and program -select equ 5 ; ferify and format sectors -option equ 3 ; verify -outchar equ $F2B0 -memtop equ $2e5 -dmactls equ $22f - -_SOURCE equ $6000 -_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 * -@ lda #$1 - sta 66 - ; waiting for cart to be inserted - jsr print - dta c'Insert cartridge...',0 -@ lda $D013 - lsr - bcc @- - jsr print - dta c' inserted.',$9b,0 - - ; cart inserted, fake it was not changed - lda $d013 - sta $3fa - - ;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 - cmp #7 - beq @- - sta operation - - cmp #select - beq VERIFYREPAIR - - cmp #option - beq CHECKONLY - ; start -FORMAT - jsr print - dta c'Formatting cart ...',0 - jsr flashformatchip - bcs formatfailed - jsr print - dta c'done:)',$9b,0 - rts -formatfailed - jsr print - dta c'failed:(',$9b,'Waiting for reboot...',$9b,0 - jmp * -VERIFYREPAIR - jsr print - dta c'Verify and ',0 -CHECKONLY - jsr print - dta c'Compare.',$9b,0 - rts -crcsums - :128 dta 0,0 - -CHECKINIT - mwa #_SOURCE _csrc - mwa #_DEST _cdst - sei -CHECK - - mva #0 badcompare_counter - sta badcompare_counter+1 - ldx BankNum - sta $d500,x -checkloop -_csrc equ * + 1 - lda $6000 ; src -_cdst equ * + 1 - cmp $A000 ; dst - beq @+ - lda _csrc - ldx _csrc+1 - jsr BADCOMPARE -@ inw _csrc - inw _cdst - lda _csrc+1 - cmp #>_SOURCE+$20 - bne checkloop - cpw #0 badcompare_counter - beq @+ - sta $d580 - lda $d013 - sta $3fa - cli - jsr print - dta c'non-match byte#:',0 - lda badcompare_counter+1 - jsr printhex - lda badcompare_counter - jsr printhex - jsr printnl - sec - rts -@ sta $d580 - lda $d013 - sta $3fa - cli - lda #'o' - jsr outchar -@ clc -dmaon mva #34 dmactls - sta dmactl - rts -VERIFY - ;mwa #_SOURCE _csrc - ;mwa #_DEST _cdst - jsr CHECKINIT - bcc v_rts - lda #'f' - jsr outchar - ldx BankNum - lda #$a0 - jsr flashformatsector - ldx BankNum - lda #$b0 - jsr flashformatsector - jsr FORMATTED - dec Counter - bne VERIFY -v_rts jmp dmaon - -COMPARE_CRC16_DEST_ALL - lda BankNum - sta _tbanknum -@ sei -_tbanknum equ * + 1 - sta $D500 - clc - mva _tbanknum calccrc_bank - jsr CALCCRC_DEST - jsr status_crc - .ifdef compareall - dec _tbanknum - bpl @- - .endif - sta $D580 - lda $d013 - sta $3fa - cli - rts -status_crc - php - jsr printBank_t - plp - php - sne - lda #'o' - plp - seq - lda #'!' - jsr outchar - lda #',' - jmp outchar - - -CALCCRC_DEST - php - mwa #_DEST _tsrc - bne crccont - -CALCCRC ; c=1 - write; c=0 - check - php - mwa #_SOURCE _tsrc - mwa #$2000 _tcnt -crccont mwa #$ffff crc16.crc -_tsrc equ * + 1 - lda $ffff - jsr crc16.updCRC - inw _tsrc - dew _tcnt - bne _tsrc -1 -calccrc_bank equ * +1 - lda #$ba ; nk number - asl - tax - plp - bcc crccheck - mwa crc16.crc crcsums,x - rts -_tcnt :2 dta 0 -crccheck - cpw crc16.crc crcsums,x - rts - - -printBank_t - lda _tbanknum - bpl @+ -printBank - jsr printnl - lda BankNum -@ pha - lda #'B' - jsr outchar - pla - jsr printhex - lda #':' - jmp outchar - -MAIN_PROCESS - ;mva #0 dmactls - ;sta dmactl - sec - mva BankNum calccrc_bank - jsr CALCCRC - mwa #_DEST flashaddr - jsr printBank - - lda operation - cmp #select - jeq VERIFY - - cmp #option - jeq CHECKINIT - -FORMATTED - mwa #_SOURCE _writeaddr - lda _writeaddr+1 - clc - adc #$20 - sta _cmpaddr - mwa #_DEST flashaddr - sec -formatted_next - ldx BankNum -formatted_next2 -_writeaddr equ *+1 - lda $ffff - jsr flashwritebyte - jsr flashincaddr - inw _writeaddr -_cmpaddr equ * + 1 - lda #$ff - cmp _writeaddr+1 - bne formatted_next2 - - jmp COMPARE_CRC16_DEST_ALL - -FINISH_PROCESS - jsr print - dta $9b,'Finished',0 - jmp * - rts -badcompare_counter dta 0,0 -BADCOMPARE - ldy 53279 - cpy #7 - beq @+ - pha - txa - pha - lda #'!' - jsr outchar - pla - jsr printhex - pla - jsr printhex - lda #':' - jsr outchar - mwa _csrc badcompare_tmp1 -badcompare_tmp1 equ * +1 - lda $ffff - jsr printhex - lda #'/' - jsr outchar - mwa _cdst badcompare_tmp2 -badcompare_tmp2 equ * +1 - lda $ffff - jsr printhex - jsr printnl -@ inw badcompare_counter - sec - jmp dmaon -; ------- - icl '../../lib/flashwritelib.asx' - - icl '../../lib/crc16_v2.asm' - - ;jsr print - ;dta c'AlaMaKota.',$9b,0 - ;lda #$55 - ;jsr printhex - ;lda #$aa - ;jsr printhex - ;jmp * - icl '../../lib/print2.asx' - org $2e2 - dta a($2000) -; --------------------------------------- -; code generator for bank by bank programming. -; .rept number of cartridge banks of 8kb; set this for 8kb banks number: -; 256kb flash - 32 -; 128 kb flash - 16 -; 8 kb flash - 1 -;.rept 32, # -.rept 1, # - .print "A :1" - .local block:1 -;------------ - org BankNum - dta b(:1) - dta b(1) ; Counter -;------------ - org _SOURCE - ins "missile.bin",+:1*8192,8192 -;------------ - org $2e2 - dta a(MAIN_PROCESS) -;------------ - .endl - .endr -;------------ - org $2e2 - dta a(FINISH_PROCESS) diff --git a/various_flashers/flashwriteexample/flashwrite.xex b/various_flashers/flashwriteexample/flashwrite.xex deleted file mode 100644 index d610acb182efec956b8c5e040fad8f78c4f205d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9905 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 Y-}|a3?I?oCjXUxG2k5B4*UHNO1qZngGynhq diff --git a/various_flashers/flashwriteexample/makeflashwrite.sh b/various_flashers/flashwriteexample/makeflashwrite.sh deleted file mode 100755 index 79c3136..0000000 --- a/various_flashers/flashwriteexample/makeflashwrite.sh +++ /dev/null @@ -1,3 +0,0 @@ -cd `dirname $0` -mads flashwrite.asx -o:flashwrite.xex - diff --git a/various_flashers/readme.md b/various_flashers/readme.md index a706114..b570720 100644 --- a/various_flashers/readme.md +++ b/various_flashers/readme.md @@ -1,9 +1,10 @@ -Umieść ten plik na dysku, w pliku atr lub po prostu skopiuj i uruchom z sio2sd lub innego urządzenia, które pozwala na uruchomienie plików wykonywalnych. Uruchom komputer z wciśniętym OPTION. Wtedy albo: +Umieść plik z wybranego katalogu na dysku, w pliku atr lub po prostu skopiuj i uruchom z sio2sd lub innego urządzenia, które pozwala na uruchomienie plików wykonywalnych. Uruchom komputer z wciśniętym OPTION. Wtedy albo: 1. komputer się uruchomi i pozwoli wczytać flasher, albo 2. uruchomi się kartridż. -W drugim przypadku, należy trzymając OPTION po kilka-kilkanaście razy kilka razy na sekundę wciskać klawisz RESET, aż zaziała tzw. błąd resetu i komputer zbootuje się na zimno i pozwoli wczytać flasher. Jeśli na kartridżu jest coś nagrane, to w zależności co, można: +W drugim przypadku, należy trzymając OPTION po kilka-kilkanaście razy kilka razy na sekundę wciskać klawisz RESET, aż zadziała tzw. błąd resetu i komputer zbootuje się na zimno i pozwoli wczytać flasher. Jeśli na kartridżu jest coś nagrane, to w zależności co, można: * jeśli jest nagrane coś, co wyłącza kartridż, należy poczekać do tego momentu, następnie wcisnąć reset lub wykorzystać błąd reset. +* kartridże z językami programowania pozwalają systemowi bootować się, więc nie ma problemu * jeśli jest nagrane coś, co kartridża nie wyłącza, należy próbować wykorzystać błąd reset, a w ostateczności, jak nijak nie idzie, włożyć dokładnie i poziomo stanowczym ruchem włożyć kartridż po uruchomieniu flashera, gdy prosi on o włożenie kartridża. Jednak grozi to uszkodzeniem komputera (mała szansa ale jednak). * wykorzystać przejściówkę - rozgałęziacz kartridży, np. ten od toriego na 4 sztuki. @@ -11,26 +12,25 @@ Gdy wszystko pójdzie dobrze, pojawi się menu: Press: START - format cart and programm - SELECT - verify; repair bad blocks. OPTION - verify only Wybierz START. -Po kilku popikiwaniach i przerwach flasher kończy pracę. +Po kilku(nastu,dziesięciu) popikiwaniach i przerwach flasher kończy pracę: Finished. __NIE PRZERYWAJ PRACY PODCZAS FLASHOWANIA!!! (tzn. gdy flasher nie odczytuje z dysku, a zapisuje do kartridża)__ Można to zrobić podczas czytania danych z pliku. - +Aby wygenerować flasher (plik .xex) należy wejść do wybranego katalogu i wykonać ../makeflashwrite.sh --------------------------------------------------------------------------------------------------------------------- EN: -Please put those file on disk, or on atr file or simply copy and run from sio2sd or another device which allows running executables. +Please put the file from chosen catalog on some disk, atr file or simply copy and run from sio2sd or another device which allows running executables. Turn on your Atari with OPTION. Then one of two cases will occur: 1. computer boots up from device and runs flasher, 2. the cartridge will run. @@ -43,14 +43,15 @@ When all is ok, the menu will appear: Press: START - format cart and programm - SELECT - verify; repair bad blocks. OPTION - verify only Choose your option (START will be good) -After some beeps and pauses the flasher finishes it's job. +After some beeps and pauses the flasher finishes it's job: Finished. __DO NOT BREAK THE JOB DURING FLASHING!!! (ie when flasher does not read from the disk, but writes to it)__ You are free to do it during read from device. + +To generate flasher (.xex file) go to chosen catalog and run: ../makeflashwrite.sh