mirror of
https://github.com/digarok/MiniMemoryTester.git
synced 2024-06-16 02:29:33 +00:00
testing write phase complete
This commit is contained in:
parent
449b76793d
commit
ae0cc2f78c
142
src/mt.s
142
src/mt.s
|
@ -55,17 +55,6 @@ QuitParm dfb 4 ; number of parameters
|
||||||
|
|
||||||
|
|
||||||
Error brk $00 ; shouldn't be here either
|
Error brk $00 ; shouldn't be here either
|
||||||
GetStartBank
|
|
||||||
ldx #13
|
|
||||||
ldy #10
|
|
||||||
jsr GoXY
|
|
||||||
lda #2
|
|
||||||
ldx #>StartBank
|
|
||||||
ldy #StartBank
|
|
||||||
jsr GetHex
|
|
||||||
brk $99
|
|
||||||
lda StartBank
|
|
||||||
rts
|
|
||||||
|
|
||||||
* Pass desired length in A
|
* Pass desired length in A
|
||||||
GetHex sta _gethex_maxlen
|
GetHex sta _gethex_maxlen
|
||||||
|
@ -93,7 +82,9 @@ GetHex sta _gethex_maxlen
|
||||||
sec
|
sec
|
||||||
sbc #"A"-10
|
sbc #"A"-10
|
||||||
:storeInput
|
:storeInput
|
||||||
|
pha
|
||||||
jsr PRHEX
|
jsr PRHEX
|
||||||
|
pla
|
||||||
ldy _gethex_current
|
ldy _gethex_current
|
||||||
sta _gethex_buffer,y
|
sta _gethex_buffer,y
|
||||||
iny
|
iny
|
||||||
|
@ -157,15 +148,95 @@ Menu_Draw jsr HOME
|
||||||
jsr Menu_DrawOptions
|
jsr Menu_DrawOptions
|
||||||
rts
|
rts
|
||||||
|
|
||||||
BeginTest brk $ff
|
BeginTest stz _testIteration
|
||||||
|
stz _testIteration+1
|
||||||
|
ldx #23
|
||||||
|
ldy #10
|
||||||
|
jsr GoXY
|
||||||
|
lda #Mesg_Writing
|
||||||
|
ldy #>Mesg_Writing
|
||||||
|
jsr PrintString
|
||||||
|
|
||||||
|
clc ; WRITE START
|
||||||
|
xce
|
||||||
|
rep $10 ; long x, short a
|
||||||
|
lda StartBank
|
||||||
|
sta CurBank
|
||||||
|
ldy #0 ; update interval counter
|
||||||
|
:bankloop lda CurBank
|
||||||
|
sta :bankstore+3
|
||||||
|
ldx StartAddr
|
||||||
|
lda TestValue
|
||||||
|
:bankstore stal $000000,x
|
||||||
|
cpx EndAddr
|
||||||
|
beq :donebank
|
||||||
|
inx
|
||||||
|
iny
|
||||||
|
cpy #UpdateScanInterval
|
||||||
|
bcc :bankstore
|
||||||
|
jsr PrintTestCurrent
|
||||||
|
ldy #0
|
||||||
|
bra :bankstore
|
||||||
|
:donebank
|
||||||
|
ldy #0 ; because i'm anal.. this makes counter align
|
||||||
|
inc CurBank
|
||||||
|
lda EndBank
|
||||||
|
cmp CurBank
|
||||||
|
bcs :bankloop
|
||||||
|
jsr PrintTestCurrent ; print final score ;)
|
||||||
|
sep $10
|
||||||
|
sec
|
||||||
|
xce ; WRITE END
|
||||||
|
* TODO DO PAUSE
|
||||||
|
* TODO DO READ
|
||||||
|
ldx #23
|
||||||
|
ldy #10
|
||||||
|
jsr GoXY
|
||||||
|
lda #Mesg_WritingB
|
||||||
|
ldy #>Mesg_WritingB
|
||||||
|
jsr PrintString
|
||||||
|
rts
|
||||||
|
_testIteration ds 8
|
||||||
|
UpdateScanInterval equ #$0800
|
||||||
|
Mesg_Writing asc "Writing: ",00
|
||||||
|
Mesg_WritingB asc " ",00
|
||||||
|
mx %01
|
||||||
|
PrintTestCurrent pha
|
||||||
|
phy
|
||||||
|
stx _stash ; save real X
|
||||||
|
sec
|
||||||
|
xce
|
||||||
|
ldx #33
|
||||||
|
ldy #10
|
||||||
|
jsr GoXY
|
||||||
|
lda CurBank
|
||||||
|
jsr PRBYTE
|
||||||
|
lda #"/"
|
||||||
|
jsr COUT
|
||||||
|
lda _stash+1
|
||||||
|
jsr PRBYTE
|
||||||
|
lda _stash
|
||||||
|
jsr PRBYTE
|
||||||
|
|
||||||
|
clc
|
||||||
|
xce
|
||||||
|
rep $10
|
||||||
|
ldx _stash
|
||||||
|
ply
|
||||||
|
pla
|
||||||
|
rts
|
||||||
|
mx %11
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* DEFAULTS
|
* DEFAULTS
|
||||||
StartBank db #$02
|
StartBank db #$06
|
||||||
EndBank db #$7F
|
EndBank db #$7F
|
||||||
|
CurBank db #0
|
||||||
StartAddr dw #$0000
|
StartAddr dw #$0000
|
||||||
EndAddr dw #$FFFF
|
EndAddr dw #$FFFF
|
||||||
TestValue dw #$00
|
TestValue dw #$00
|
||||||
|
TestDelay dw #$05
|
||||||
|
|
||||||
Menu_DrawOptions sta $0
|
Menu_DrawOptions sta $0
|
||||||
sty $1
|
sty $1
|
||||||
|
@ -423,7 +494,6 @@ Menu_HandleSelection
|
||||||
|
|
||||||
:notHex cmp #2
|
:notHex cmp #2
|
||||||
bne :wtf
|
bne :wtf
|
||||||
brk $fe
|
|
||||||
iny ; skip len byte
|
iny ; skip len byte
|
||||||
iny
|
iny
|
||||||
lda ($0),y
|
lda ($0),y
|
||||||
|
@ -457,15 +527,14 @@ Menu_HandleSelection
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
rts
|
|
||||||
Menu_PrevItem dec Menu_ItemSelected
|
Menu_PrevItem dec Menu_ItemSelected
|
||||||
bpl :noflip
|
bpl :noflip
|
||||||
lda #MainMenuItems
|
lda #MainMenuItems
|
||||||
dec
|
dec
|
||||||
sta Menu_ItemSelected
|
sta Menu_ItemSelected
|
||||||
|
|
||||||
:noflip rts
|
:noflip rts
|
||||||
|
|
||||||
|
|
||||||
Menu_NextItem
|
Menu_NextItem
|
||||||
inc Menu_ItemSelected
|
inc Menu_ItemSelected
|
||||||
lda Menu_ItemSelected
|
lda Menu_ItemSelected
|
||||||
|
@ -476,31 +545,39 @@ Menu_NextItem
|
||||||
:noflip rts
|
:noflip rts
|
||||||
|
|
||||||
|
|
||||||
Menu_ItemSelected db 0
|
|
||||||
MainMenuDefs
|
MainMenuDefs
|
||||||
Menu_StartBank hex 0D,0A ; x,y
|
:StartBank hex 0D,0A ; x,y
|
||||||
db 01 ; 0=char/1=hex input 2=Menu JSR
|
db 01 ; 0=char/1=hex input 2=Menu JSR
|
||||||
db 01 ; memory size (bytes), 0=char/1=hex input
|
db 01 ; memory size (bytes), 0=char/1=hex input
|
||||||
da StartBank ; variable storage
|
da StartBank ; variable storage
|
||||||
Menu_EndBank hex 0D,0B ; x,y
|
:EndBank hex 0D,0B ; x,y
|
||||||
db 01 ; 0=char/1=hex input 2=Menu JSR
|
db 01 ; 0=char/1=hex input 2=Menu JSR
|
||||||
db 01 ; memory size (bytes), 0=char/1=hex input
|
db 01 ; memory size (bytes), 0=char/1=hex input
|
||||||
da EndBank ; variable storage
|
da EndBank ; variable storage
|
||||||
Menu_StartAddr hex 0D,0D ; x,y
|
:StartAddr hex 0D,0D ; x,y
|
||||||
db 01 ; 0=char/1=hex input 2=Menu JSR
|
db 01 ; 0=char/1=hex input 2=Menu JSR
|
||||||
db 02 ; memory size (bytes), 0=char/1=hex input
|
db 02 ; memory size (bytes), 0=char/1=hex input
|
||||||
da StartAddr ; variable storage
|
da StartAddr ; variable storage
|
||||||
Menu_EndAddr hex 0D,0E ; x,y
|
:EndAddr hex 0D,0E ; x,y
|
||||||
db 01 ; 0=char/1=hex input 2=Menu JSR
|
db 01 ; 0=char/1=hex input 2=Menu JSR
|
||||||
db 02 ; memory size (bytes), 0=char/1=hex input
|
db 02 ; memory size (bytes), 0=char/1=hex input
|
||||||
da EndAddr ; variable storage
|
da EndAddr ; variable storage
|
||||||
Menu_BeginTest hex 0D,12 ; x,y
|
:TestByte hex 0D,10 ; x,y
|
||||||
|
db 01 ; 0=char/1=hex input 2=Menu JSR
|
||||||
|
db 01 ; memory size (bytes), 0=char/1=hex input
|
||||||
|
da TestValue ; variable storage
|
||||||
|
:TestDelay hex 0D,11 ; x,y
|
||||||
|
db 01 ; 0=char/1=hex input 2=Menu JSR
|
||||||
|
db 01 ; memory size (bytes), 0=char/1=hex input
|
||||||
|
da TestDelay ; variable storage
|
||||||
|
:BeginTest hex 0D,13 ; x,y
|
||||||
db 02 ; 0=char/1=hex input 2=Menu JSR
|
db 02 ; 0=char/1=hex input 2=Menu JSR
|
||||||
db MenuStr_BeginTestL ; menu string length
|
db MenuStr_BeginTestL ; menu string length
|
||||||
da MenuStr_BeginTest ; string storage
|
da MenuStr_BeginTest ; string storage
|
||||||
MainMenuLen equ *-Menu_StartBank
|
MainMenuLen equ *-MainMenuDefs
|
||||||
MainMenuItems equ MainMenuLen/6
|
MainMenuItems equ MainMenuLen/6
|
||||||
MainMenuEnd dw 0000
|
MainMenuEnd dw 0000
|
||||||
|
Menu_ItemSelected db 0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -520,26 +597,15 @@ MainMenuStrs
|
||||||
asc " Start BANK: ",$8D,$00
|
asc " Start BANK: ",$8D,$00
|
||||||
asc " End BANK: ",$8D,$8D,$00
|
asc " End BANK: ",$8D,$8D,$00
|
||||||
asc " Start ADDR: ",$8D,$00
|
asc " Start ADDR: ",$8D,$00
|
||||||
asc " End ADDR: ",$8D,$8D,$8D,$00
|
asc " End ADDR: ",$8D,$8D,$00
|
||||||
asc " Test Byte: (Leave empty = random)",$8D,$8D,$8D,$00
|
asc " Test Byte: ",$8D,$00
|
||||||
|
asc " Test Delay: ",$8D,$8D,$8D,$8D,$8D,$00
|
||||||
asc " USE ARROW KEYS TO MOVE",8D,$00
|
asc " USE ARROW KEYS TO MOVE",8D,$00
|
||||||
asc " USE ENTER TO SELECT/EDIT",$8D,$00
|
asc " USE ENTER TO SELECT/EDIT",$00
|
||||||
|
|
||||||
hex 00,00
|
hex 00,00
|
||||||
|
|
||||||
|
|
||||||
PrintStringDebug sta $0
|
|
||||||
sty $1
|
|
||||||
|
|
||||||
ldy #0
|
|
||||||
:loop lda ($0),y
|
|
||||||
beq :done
|
|
||||||
jsr COUT
|
|
||||||
jsr WaitKey
|
|
||||||
iny
|
|
||||||
bra :loop
|
|
||||||
:done rts
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
WaitKey
|
WaitKey
|
||||||
|
|
Loading…
Reference in New Issue
Block a user