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 dacacab..f50db12 100644 Binary files a/various_flashers/M091_BASICXE41/BASICXEflashwrite.xex and b/various_flashers/M091_BASICXE41/M091_BASICXE41flasher.xex differ diff --git a/various_flashers/M091_BASICXE41/basicxe_128.rom b/various_flashers/M091_BASICXE41/basicxe_128.rom new file mode 100644 index 0000000..71b3347 Binary files /dev/null and b/various_flashers/M091_BASICXE41/basicxe_128.rom differ 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 c8a992e..0000000 Binary files a/various_flashers/M091_OSSBasicXL103/BASICXLflashwrite.xex and /dev/null differ diff --git a/various_flashers/M091_OSSBasicXL103/flashwrite.asx b/various_flashers/M091_OSSBasicXL103/flashwrite.asx deleted file mode 100644 index c7b2dd8..0000000 --- a/various_flashers/M091_OSSBasicXL103/flashwrite.asx +++ /dev/null @@ -1,378 +0,0 @@ -; JatariCart256 Action!3.6 flasher -; by Jakub Husak , 04.01.2020 -; All Rights Reserved. -; -; Action!3.6: Copyright 1983 by Clinton W Parker. -; -; 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) -; --------------------------------------- -; 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 d610acb..0000000 Binary files a/various_flashers/flashwriteexample/flashwrite.xex and /dev/null differ 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