From: Niklas Ramsberg (niklas.ramsberg_at_swipnet.se)
Date: 2004-02-09 21:48:32
OK, here are the two code examples (in Buddy128 format). This is how I
would like to do it:
;------------------------------
* = $0b00
.obj "@:test2"
.dis
cld
lda #$00 ;Set slow mode
sta $d030
lda #$01 ;Set flag
sta temp3
lda $d506 ;Preserve RAM config
sta temp1
;Transfer RAM0
lda temp1
and #$3f ;Clear bits 6 & 7 (RAM0)
sta $d506
lda #$02 ;Set bank 2
sta temp2
lda #$00 ;Set system bank 0
sta temp4
- lda #$00 ;Start at base addr $0000
sta $df02
lda #$00
sta $df03
lda #$00 ;Store at base addr $0000
sta $df04
lda #$00
sta $df05
lda temp2 ;RAM bank
sta $df06
lda #$00 ;Increment both addresses
sta $df0a
lda #$00 ;Transfer $ffff bytes
sta $df08
lda #$ff
sta $df09
ldx temp4 ;Bank
ldy #$80 ;Stash now
jsr $ff50
lda temp1 ;Restore config
sta $d506
lda temp3 ;Check flag
beq +
;Transfer RAM1
lda #$00 ;Clear flag
sta temp3
lda $d506
sta temp1
ora #$7f ;Set bit 6 (RAM1)
sta $d506
lda #$03
sta temp2
lda #$01
sta temp4
jmp -
+ rts
;------------------------------
This is what I have had to resort to:
;------------------------------
* = $0b00
.obj "@:test"
.dis
cld
lda #$00 ;Set slow mode
sta $d030
lda #$01 ;Set flag
sta temp3
lda $d506 ;Preserve RAM config
sta temp1
;Transfer RAM0
lda temp1
and #$3f ;Clear bits 6 & 7 (RAM0)
sta $d506
lda #$02 ;Set bank 2
sta temp2
lda #$00 ;Set system bank 0
sta temp4
- lda #$00 ;Start at base addr $0000
sta $df02
lda #$00
sta $df03
lda #$00 ;Store at base addr $0000
sta $df04
lda #$00
sta $df05
lda temp2 ;RAM bank
sta $df06
lda #$00 ;Increment both addresses
sta $df0a
- lda #$00 ;Transfer $0100 bytes
sta $df08
lda #$01
sta $df09
ldx temp4 ;Bank
ldy #$80 ;Stash now
jsr $ff50
clc
lda $df03
adc #$01
bcs +
sta $df03 ;Transfer $100 bytes at a time until all memory has
sta $df05 ;been transferred
jmp -
+ lda temp1 ;Restore config
sta $d506
lda temp3 ;Check flag
beq +
;Transfer RAM1
lda #$00 ;Clear flag
sta temp3
lda $d506
sta temp1
ora #$7f ;Set bit 6 (RAM1)
sta $d506
lda #$03
sta temp2
lda #$01
sta temp4
jmp --
+ rts
;------------------------------
/Niklas Ramsberg
aka
< .
(:) Bacon
< .
Message was sent through the cbm-hackers mailing list
Archive generated by hypermail pre-2.1.8.