Procedura testująca RAM Cart jest dość prosta - napisałem ją dość dawno temu - niepamiętam, ani nawet nie testowałem na module większym niż 128kB, ale powinno wykryć do 512kB... (w teorii)
* Data: 2001-12-29 18:56
* Test RAM-Cart'a
* (c) Casper/Pentagram
* wynik:
* C=0,Y=$00 - Modul zostal wykryty
* i jest w trybie W (zapis)
* w A/X jest liczba bankow
* (po 16kB kazdy)
* C=1,Y=$01 - Modul jest, ale jest w
* trybie R (tylko do odczytu),
* a ustalenie
* rozmiaru nie jest
* mozliwe
* C=1,Y=$02 - Brak modulu w gniezdzie!
opt %101001
org $0600
mbuf equ $03c0
cs_tab equ $0500 - tablica bankow
ca_mem equ $8000
cb_mem equ $a000
cart_a equ $d012
cart_b equ $d013
carset equ $d500
jsr rcsize
tya
and #$03
tay
lda coltab,y
sta $02c8
stx count
rts
rcsize equ *
lda #$00
jsr rctst
bne rbad
lda #$01
jsr rctst
bne r_ok
iny
iny
rbad equ *
lda #$00
tax
sec
rts
rctst equ *
sei
ldy #$00
sty $d40e
sta carset
ldy cart_b
beq *+9
eor #$01
sta carset
ldy #$01
lda #$40
sta $d40e
cli
tya
rts
r_ok equ *
sei
lda #$00
sta $d40e
sta $d400
ldx #$20
r0 equ *
lda banki,x
sta carset
lda ca_mem
sta mbuf,x
dex
bpl r0
ldx #$20
lda #$00
r1 equ *
ldy banki,x
sty carset
sta ca_mem
dex
bpl r1
lda #$00
sta count
ldx #$20
r2 equ *
ldy banki,x
sty carset
lda ca_mem
bne r3
eor #$ff
sta ca_mem
tya
ldy count
inc count
sta cs_tab,y
r3 equ *
dex
bpl r2
ldx #$20
r4 equ *
lda banki,x
sta carset
lda mbuf,x
sta ca_mem
dex
bpl r4
inx
stx carset
ldx count
sta cs_tab,x
dex
lda #$40
ora $0313
ldy $d40b
bne *-3
sta $d40e
txa
cli
clc
rts
count dta b($00)
banki equ *
dta b($fb),b($f3),b($eb),b($e3)
dta b($db),b($d3),b($cb),b($c3)
dta b($bb),b($b3),b($ab),b($a3)
dta b($9b),b($93),b($8b),b($83)
dta b($7b),b($73),b($6b),b($63)
dta b($5b),b($53),b($4b),b($43)
dta b($3b),b($33),b($2b),b($23)
dta b($1b),b($13),b($0b),b($03)
dta b($00)
coltab dta b($32),b($a2),b($72),b($00)
end
inne programiki - zapis zawartości RC an flopa (ED), odczyt zawartości z flopa (ED) na RC, podgląd zawartości modułu na erkanie - same źródła pisane w QA... UWAGA! ze względu na używanie przeze mnie w tamtych czasach nielegalnych skoków do OS'a ($F2F8, $F302, $C642, $F556, itp.) odradzam uruchamiać to to na DracoOS '816...
pobieramy sobie z http://www.szurgot.com.pl/robert/Atari/ramcart.zip
FAQ: Cegła waży kilogram i pół cegły. Ile ważą dwie cegły ? :D
JIL 4EVER!