rearranged and simplified configuration files

This commit is contained in:
Jakub Husak
2023-02-10 00:17:57 +01:00
parent d85a75eb36
commit b3c933a99f
39 changed files with 190 additions and 246 deletions
+55 -43
View File
@@ -21,7 +21,6 @@
;.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
@@ -48,7 +47,7 @@ STARTFLASHWRITE
TITLE+128
dta $9b,c'JatariCart/MaxFlash flasher'
dta $9b
dta c'by JHusak, I.2023'
dta c'by JHusak, 09.02.2023'
dta $9b
dta c'JatariCart of size '
CARTSIZE+128
@@ -57,8 +56,8 @@ STARTFLASHWRITE
CARTSIZE+128
dta c' kB...',0
sta $D500
?wloop lda $D013
sta $d500
?wloop lda $d013
lsr
bcc ?wloop
@@ -75,8 +74,7 @@ STARTFLASHWRITE
dta c' inserted.',$9b,0
; cart inserted, fake it was not changed
lda $d013
sta $3fa
jsr accept_bank_change
ldx #0 ; chip address
stx numchips
@@ -214,7 +212,7 @@ numchips .byte 0
_storex .byte 0
crcsums
:128 dta 0,0
:128 .word 0
opened
ldx #0
lda #12
@@ -234,7 +232,7 @@ CHECKINIT
CHECK
mva #0 badcompare_counter
sta badcompare_counter+1
ldx BankNum
jsr GetBankNumToX
sta $d500,x
checkloop
_csrc equ * + 1
@@ -255,9 +253,7 @@ _byte_ok
beq _all_bytes_ok
; several differences found...
; cart off
sta $d580
lda $d013
sta $3fa
jsr cartoff_and_accept_bank_change
cli
; print status
jsr print
@@ -277,9 +273,7 @@ _byte_ok
sec
rts
_all_bytes_ok
sta $d580
lda $d013
sta $3fa
jsr cartoff_and_accept_bank_change
cli
lda #'o'
jsr outchar
@@ -287,6 +281,14 @@ _all_bytes_ok
dmaon mva #34 dmactls
sta dmactl
rts
cartoff_and_accept_bank_change
sta $d580
accept_bank_change
lda $d013
sta $3fa
rts
VERIFY
;mwa #_SOURCE _csrc
;mwa #_DEST _cdst
@@ -294,23 +296,21 @@ VERIFY
bcc v_rts
lda #'f'
jsr outchar
ldx BankNum
jsr GetBankNumToX
lda #$a0
jsr flashformatsector
ldx BankNum
jsr GetBankNumToX
lda #$b0
jsr flashformatsector
jsr FORMATTED
dec Counter
bne VERIFY
v_rts jmp dmaon
COMPARE_CRC16_DEST_ALL
lda BankNum
sta _tbanknum
jsr GetBankNumToX
stx _tbanknum
@ sei
_tbanknum equ * + 1
sta $D500
sta $d500
clc
mva _tbanknum calccrc_bank
jsr CALCCRC_DEST
@@ -319,9 +319,7 @@ _tbanknum equ * + 1
dec _tbanknum
bpl @-
.endif
sta $D580
lda $d013
sta $3fa
jsr cartoff_and_accept_bank_change
cli
rts
status_crc
@@ -333,7 +331,7 @@ status_crc
lda #'o'
plp
seq
lda #'!'
lda #'!'+128
jsr outchar
lda #','
jmp outchar
@@ -349,14 +347,12 @@ CALCCRC ; c=1 - write; c=0 - check
mwa #_SOURCE _tsrc
mwa #$2000 _tcnt
crccont mwa #$ffff crc16.crc
_tsrc equ * + 1
lda $ffff
lda _tsrc:$ffff
jsr crc16.updCRC
inw _tsrc
dew _tcnt
bne _tsrc -1
calccrc_bank equ * +1
lda #$ba ;nk number
lda calccrc_bank:#$ba ;nk number
asl
tax
plp
@@ -371,11 +367,12 @@ crccheck
printBank_t
lda _tbanknum
bpl @+
bpl skip
printBank
jsr printnl
lda BankNum
@ pha
jsr GetBankNumToX
txa
skip pha
lda #'B'
jsr outchar
pla
@@ -387,18 +384,19 @@ MAIN_PROCESS
;mva #0 dmactls
;sta dmactl
sec
mva BankNum calccrc_bank
jsr GetBankNumToX
stx calccrc_bank
jsr CALCCRC
mwa #_DEST flashaddr
jsr printBank
lda operation
cmp #select
jeq VERIFY
;cmp #select
;jeq VERIFY
cmp #option
jeq CHECKINIT
; START (was CONSOL & !OPTION, so START)
FORMATTED
mwa #_SOURCE _writeaddr
lda _writeaddr+1
@@ -408,15 +406,13 @@ FORMATTED
mwa #_DEST flashaddr
; sec
formatted_next
ldx BankNum
jsr GetBankNumToX
formatted_next2
_writeaddr equ *+1
lda $ffff
lda _writeaddr:$ffff ; this is source address
jsr flashwritebyte
jsr flashincaddr
inw _writeaddr
_cmpaddr equ * + 1
lda #$ff
lda _cmpaddr:#$ff ; this is the page to end
cmp _writeaddr+1
bne formatted_next2
jsr flashend
@@ -462,8 +458,25 @@ badcompare_tmp2 equ * +1
icl 'crc16_v2.asm'
icl 'print2.asx'
bank_order_tab
.if .not .def BANK_ORDER
.rept 128
.byte .R
.endr
.else
BANK_ORDER
.endif
GetBankNumToX
ldx BankNum
lda bank_order_tab,x
tax
rts
org $2e2
dta a(STARTFLASHWRITE)
; ---------------------------------------
; blocks for every 8kb bank
.rept BANKS, #
@@ -472,10 +485,9 @@ badcompare_tmp2 equ * +1
;------------
org BankNum
dta b(:1)
dta b(1) ; Counter
;------------
org _SOURCE
BANKS_FILE(:1)
BANKS_FILE :1
;------------
org $2e2
dta a(MAIN_PROCESS)
+8 -12
View File
@@ -325,10 +325,10 @@ byte_differs
jsr flashprocessbyte ; WRITE BYTE INVOKED !
wait4flashcheckresult ; sei mode
mva #0 flashcnt
mva #0 flashcnt ; reset counter
sta flashcnt+1
; ldy #1 ; first time wait short first turn to speed up byte write.
beq @+
beq skipwsync
flashwaitfordone
; WARNING! 29f040 erases even 10 seconds!
@@ -347,35 +347,31 @@ flashwaitfordone
;ldy#250
sta WSYNC
@
skipwsync
;lda #flash_wait_unit
;jsr jsrtovectorproc
FEEDBACK
;dey
;bne @-
@
ldy #{ lda.w }
jsr flashprocessbyte
sta flashval
ldy #{ eor.w }
jsr flashprocessbyte
inc flashcnt
bne @+
bne cont
inc flashcnt+1
bne @+
bne cont
jsr flashcartoff
lda #$ff ; status
rts
@
cont
and #$40
bne flashwaitfordone
jsr flashcartoff
flashval equ *+1
lda #0
flashcmp equ *+1
cmp #0
lda flashval:#0
cmp flashcmp:#0
; when byte compare non zero = error
rts
+1 -1
View File
@@ -13,7 +13,7 @@ M_VECTORS_39SF
jmp flash_wait_unit_29F
dta c'39SF0x0',0
flashoppreamble_39SF
flashoppreamble_39SF ; preserves X
pha
lda #C_BYTE_PROG_39SF
scc
@@ -1,38 +1,13 @@
.define TITLE dta c'Action! 3.6'
.define CARTSIZE dta c'>=128'
.define BANKS 0
.define BANKS 3
.define BANK_ORDER .byte 0,3,4
.macro CUSTOM_CART_LAYOUT
org BankNum
dta b(0) ; $d500
dta b(1) ; Counter
;------------
org _SOURCE
ins "action.bin",+$0000+$0,$1000
.define label0 +$0000
.define label1 +$1000
.define label2 +$2000
.macro BANKS_FILE
ins "action.bin",label:1+$0,$1000
ins "action.bin",+$3000+$0,$1000
;------------
org $2e2
dta a(MAIN_PROCESS)
;------------
org BankNum
dta b(3) ; d503
dta b(1) ; Counter
;------------
org _SOURCE
ins "action.bin",+$1000+$0,$1000
ins "action.bin",+$3000+$0,$1000
;------------
org $2e2
dta a(MAIN_PROCESS)
;------------
org BankNum
dta b(4) ; $d504
dta b(1) ; Counter
;------------
org _SOURCE
ins "action.bin",+$2000+$0,$1000
ins "action.bin",+$3000+$0,$1000
;------------
org $2e2
dta a(MAIN_PROCESS)
.endm
@@ -1,38 +1,13 @@
.define TITLE dta c'Mac65 1.02 DDT'
.define CARTSIZE dta c'>=128'
.define BANKS 0
.define BANKS 3
.define BANK_ORDER .byte 0,3,4
.macro CUSTOM_CART_LAYOUT
org BankNum
dta b(0) ; $d500
dta b(1) ; Counter
;------------
org _SOURCE
ins "mac65.bin",+0*$1000+$0,$1000
.define label0 +$0000
.define label1 +$1000
.define label2 +$2000
.macro BANKS_FILE
ins "mac65.bin",label:1+$0,$1000
ins "mac65.bin",+$3000+$0,$1000
;------------
org $2e2
dta a(MAIN_PROCESS)
;------------
org BankNum
dta b(3) ; d503
dta b(1) ; Counter
;------------
org _SOURCE
ins "mac65.bin",+1*$1000+$0,$1000
ins "mac65.bin",+$3000+$0,$1000
;------------
org $2e2
dta a(MAIN_PROCESS)
;------------
org BankNum
dta b(4) ; $d504
dta b(1) ; Counter
;------------
org _SOURCE
ins "mac65.bin",+2*$1000+$0,$1000
ins "mac65.bin",+$3000+$0,$1000
;------------
org $2e2
dta a(MAIN_PROCESS)
.endm
Binary file not shown.
+3 -1
View File
@@ -1,4 +1,6 @@
.define TITLE dta c'Flob'
.define CARTSIZE dta c'>=128'
.define BANKS 16
.define BANKS_FILE ins "flob128k.bin",+:1*8192,8192
.macro BANKS_FILE
ins "flob128k.bin",+:1*8192,8192
.endm
@@ -1,4 +1,6 @@
.define TITLE dta c'Last Ninja II'
.define CARTSIZE dta c'>=128'
.define BANKS 13
.define BANKS_FILE ins "ln2cartimage.bin",+:1*8192,8192
.macro BANKS_FILE
ins "ln2cartimage.bin",+:1*8192,8192
.endm
Binary file not shown.
@@ -1,5 +1,7 @@
.define TITLE dta c'OnEscape'
.define CARTSIZE dta c'1024'
.define BANKS 128
.define BANKS_FILE ins "onEscape (14.12. 2022).rom",+:1*8192,8192
.define TWOCHIPS
.macro BANKS_FILE
ins "onEscape (14.12. 2022).rom",+:1*8192,8192
.endm
@@ -1,5 +1,7 @@
.define TITLE dta c'Space Harrier'
.define CARTSIZE dta c'1024'
.define BANKS 128
.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
.macro BANKS_FILE
ins "Space Harrier (2011-07-05)(Hutt, Chris)(GB)[f for older cartridges Tucker, Steve 2011-07-23][!].bin",+:1*8192,8192
.endm
@@ -1,4 +1,6 @@
.define TITLE dta c'PrinceOfPersia'
.define CARTSIZE dta c'>=256'
.define BANKS 24
.define BANKS_FILE ins "PoP_Atarimax_20211024_final.car",+:1*8192,8192
.macro BANKS_FILE
ins "PoP_Atarimax_20211024_final.car",+:1*8192,8192
.endm
Binary file not shown.
@@ -1,5 +1,7 @@
.define TITLE dta c'PILOT'
.define CARTSIZE dta c'>=128'
.define BANKS 1
.define BANKS_FILE ins "Atari PILOT.rom",+:1*8192,8192
.macro BANKS_FILE
ins "Atari PILOT.rom",+:1*8192,8192
.endm
Binary file not shown.
+3 -1
View File
@@ -1,5 +1,7 @@
.define TITLE dta c'WSFN'
.define CARTSIZE dta c'>=128'
.define BANKS 1
.define BANKS_FILE ins "WSFN.rom",+:1*8192,8192
.macro BANKS_FILE
ins "WSFN.rom",+:1*8192,8192
.endm
@@ -0,0 +1,33 @@
KODY BŁĘDÓW DIAGNOSTYCZNYCH
BŁĘDY SYSTEMU
01 Błąd synchronizacji poziomej lub pionowej ANTIC-a.
02 Błąd przerwania wygaszania pionowego ANTIC-a
03 Błąd przerwań DISPLAY LIST ANTIC-a
04 Błąd zapisu lub odczytu strony 0 lub 1 RAM
05 Błąd linii danych. Możliwe uszkodzenie RAM.
06 Błąd linii adresowych lub błąd dekodowania adresu (uszkodzenie RAM)
07 Błąd odświeżania przy zapisie bajtu 00
08 Błąd odświeżania przy zapisie bajtu FF
10 Błąd zapisu rejestru statusu błędów. Uszkodzenie RAM
11 Wykryto błąd podczas testu timerów POKEY-a
12 Błąd przerwań POKEY-a
BŁĘDY PORTÓW
34 Błąd komunikacji szeregowej. Uszkodzenie linii DATA IN lub DATA OUT lub uszkodzony POKEY.
35 Błąd sterowania komunikacją szeregową. Uszkodzona linia PROCEED, INTERRUPT lub COMMAND. Uszkodzony układ PIA lub POKEY.
36 Błąd sterowania komunikacją szeregową. W każdym przypadku wystąpienia błędu nr 35 może wystąpić również błąd 36. Gdy błąd 35 nie występuje - uszkodzony POKEY lub linia IRQ do procesora bądź sam procesor.
37 Błąd portu joysticka. Uszkodzone jest gniazdo, linie łączące je z PIA lub PIA.
38 Uszkodzenie wejść potencjometrycznych (paddle). Uszkodzone gniazdo, linie łączące lub POKEY.
39 Błędne działanie przycisku FIRE. Gniazdo, linie łączące lub GTIA uszkodzone.
Błędy 34-39 mogą wystąpić przy złym kontakcie wtyku kontrolnego (loop-back) lub jego uszkodzeniu.
Sporo informacji można uzyskać z SELF TEST-u komputera (o ile działa). Typowym tego przykładem może być uszkodzenie pamięci sygnalizowane czerwonymi kwadratami. Ale i inne objawy, jak np. znaczne przyspieszenie testu dźwięku (uszkodzony procesor, a nie POKEY), czy pojawienie się kwadracików na całym ekranie testu RAM (uszkodzony MMU) mogą dać wiele do myślenia.
Często zdarza się, że komputer jest "martwy", ale uruchomienie go z kartridżem pozwala wykryć przyczynę. Z reguły dzieje się tak przy uszkodzeniu jednej z kostek RAM. Na ekranie pojawi się np. ERROR CODE 06. Tu przyda się klips z dobrą kostką RAM-u nakładany kolejno na pamięci (oczywiście przy wyłączonym komputerze). Gdy test uruchomi się - trzeba wymienić kostkę, na której aktualnie znajduje się klips.
Czasem pomaga wyłączenie komputera na ułamek sekundy i ponowne jego włączenie.
@@ -0,0 +1,8 @@
Budowa kartridza nie wymaga chyba komentarza. Plik testxl.epr zawiera dane
do zaprogramowania epromu.
Istotne jest dokadne wykonanie wtykow testowych i ich odpowiednie oznaczenie.
Wtyk J1 wkladamy do portu joysticka 0, J2 do portu 1. Zamiana spowoduje bledy
podczas testow. Wtyk P! wkladamy do portu PERIPHERAL (SIO). Zycze owocnych
testow.
Jer
@@ -0,0 +1,7 @@
.define TITLE dta c'Test Cartridge'
.define CARTSIZE dta c'>=128'
.define BANKS 1
.macro BANKS_FILE
ins "Test_Cartridge.rom",+:1*8192,8192
.endm
@@ -1,5 +1,7 @@
.define TITLE dta c'Missile Command'
.define CARTSIZE dta c'>=128'
.define BANKS 1
.define BANKS_FILE ins "missile.bin",+:1*8192,8192
.macro BANKS_FILE
ins "missile.bin",+:1*8192,8192
.endm
@@ -1,45 +0,0 @@
; 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'Action36ACS'
.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 "ACTION-36-ROM-OSS.rom",+$1000,$1000
ins "ACTION-36-ROM-OSS.rom",+$0000,$1000
;------------
org $2e2
dta a(MAIN_PROCESS)
;------------
org BankNum
dta b(3) ; d503
dta b(1) ; Counter
;------------
org _SOURCE
ins "ACTION-36-ROM-OSS.rom",+$3000,$1000
ins "ACTION-36-ROM-OSS.rom",+$0000,$1000
;------------
org $2e2
dta a(MAIN_PROCESS)
;------------
org BankNum
dta b(9) ; $d509
dta b(1) ; Counter
;------------
org _SOURCE
ins "ACTION-36-ROM-OSS.rom",+$2000,$1000
ins "ACTION-36-ROM-OSS.rom",+$0000,$1000
;------------
org $2e2
dta a(MAIN_PROCESS)
;------------
.endm
@@ -6,41 +6,15 @@
;
.define TITLE dta c'BASICXE 4.1'
.define CARTSIZE dta c'>=128'
.define BANKS 0
.define BANKS 3
.define BANK_ORDER .byte 0,1,9
.macro CUSTOM_CART_LAYOUT
;------------
org BankNum
dta b(0) ; $d500
dta b(1) ; Counter
;------------
org _SOURCE
ins "BASIC XE 4.1.rom",+$1000,$1000
.define label0 +$1000
.define label1 +$3000
.define label2 +$2000
.macro BANKS_FILE
ins "BASIC XE 4.1.rom",label:1,$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
@@ -1,40 +1,13 @@
.define TITLE dta c'OSS BasicXL 1.03'
.define CARTSIZE dta c'>=128'
.define BANKS 0
.define BANKS 3
.define BANK_ORDER .byte 0,1,9
.macro CUSTOM_CART_LAYOUT
;------------
org BankNum
dta b(0) ; $d500
dta b(1) ; Counter
;------------
org _SOURCE
ins "OSSBasicXL103.rom",+$1000,$1000
.define label0 +$1000
.define label1 +$3000
.define label2 +$2000
.macro BANKS_FILE
ins "OSSBasicXL103.rom",label:1,$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)
;------------
.endm
@@ -0,0 +1,19 @@
; 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'Action36ACS'
.define CARTSIZE dta c'>=128'
.define BANKS 3
.define BANK_ORDER .byte 0,3,9
.define label0 +$1000
.define label1 +$3000
.define label2 +$2000
.macro BANKS_FILE
ins "ACTION-36-ROM-OSS.rom",label:1,$1000
ins "ACTION-36-ROM-OSS.rom",+$0000,$1000
.endm
+1
View File
@@ -1,6 +1,7 @@
for i in *; do
! [ -f "$i/macroflashname.asx" ] && continue
echo GENERATE $i ...
./makeflashwrite.sh "$i" noprocess
echo "press RETURN"
read
+1 -1
View File
@@ -10,7 +10,7 @@ catalog=$(dirname "$outfile")
outfile=$(basename "$outfile")flasher
cd "$dirname"
mads ../../lib/flashwrite.asx -m:macroflashname.asx -o:"$outfile".xex || exit
mads -m:macroflashname.asx ../../lib/flashwrite.asx -o:"$outfile".xex || exit
echo Created file "$outfile".xex
#cd "$oldpwd"