if .p
t "TopSym+"
t "TopMac"
endif
a "Holger G. Heimes"
c "SLtest V1.0"
f APPLICATION
o $2000
p start
z $40
n "SL_Test"
:start
; php
; sei
; lda $ff00 ;akt. MMU-config
; pha
; and #%11111110 ;I/O einblenden
; sta $ff00
jsr InitForIO
LoadW r0,deohnetxt
LoadW r11,0
LoadW r1H,8
jsr PutString
LoadW r0,$de00 ;de00 direkt checken
LoadW r1,$de01
jsr :read
jsr :checksl
bne :rl
lda #"e"
ldx #0
jmp :found
::rl pha
jsr :write
pla
jsr putWert
LoadW r0,demittxt
LoadW r11,0
LoadW r1H,16
jsr PutString
LoadW r0,$de00
LoadW r1,$de01
sta $df7f ; deactivate RL
jsr :read
jsr :checksl
bne :isdf00
lda #"e"
ldx #" "
jmp :found
::isdf00 pha
jsr :write
pla
jsr putWert
LoadW r0,dfohnetxt
LoadW r11,0
LoadW r1H,24
jsr PutString
LoadW r0,$df00 ;de00 direkt checken
LoadW r1,$df01
jsr :read
jsr :checksl
bne :isrldf00
lda #"f"
ldx #0
jmp :found
::isrldf00 pha
jsr :write
pla
jsr putWert
LoadW r0,dfmittxt
LoadW r11,0
LoadW r1H,32
jsr PutString
LoadW r0,$df00
LoadW r1,$df01
sta $df7f ; deactivate RL
jsr :read
jsr :checksl
bne :no
lda #"f"
ldx #" "
jmp :found
::no pha
jsr :write
pla
jsr putWert
LoadW a0,notfound_Tab_txt
jmp :tab
::found sta found_Tab_adr
stx found_Tab_rltxt
LoadW a0,found_Tab_txt
; pla
; sta $ff00
; plp
jsr DoneWithIO
::tab LoadW r0,found_Box
jsr DoDlgBox
jmp EnterDeskTop
::checksl ldy #0
lda #%00000011 ;if REU just compare/do nothing
sta (r1),y ;write STATUS=prog. Reset
::loop dey ; y = 255
bne :loop ;255 * verzoegerung
iny ; y = 1
lda (r1),y ;COMMAND
and #%00011111
cmp #%00000010
rts
::read ldy #3
::readloop lda (r0),y
sta temp,y
dey
bpl :readloop ;werte sichern
rts
::write ldy #3
::writeloop lda temp,y
sta (r0),y
dey
bpl :writeloop ;werte sichern
rts
:temp s 4
:deohnetxt b "Checking $de00 ...",NULL
:demittxt b "Checking $de00 RL ...",NULL
:dfohnetxt b "Checking $df00 ...",NULL
:dfmittxt b "Checking $df00 RL ...",NULL
:putWert
sta r0L
lda #0
sta r0H
AddVW 8,base
MoveW base,r1H
LoadW r11,200
lda #SET_LEFTJUST!SET_SUPRESS!20
jmp PutDecimal
:base w 0