[Coco] ASM Coders - Round two!

David Roper dave at ebonhost.com
Tue Aug 29 08:56:25 EDT 2006


Hi again

Thanks to everyone who helped last time - here's round two!

The code as it stands can be found below

If you compile and run it as-is, it'll clear half the screen

but! when you simply uncomment the lines:
    *lda #$32
    *sta $FFA3

It clears half the screen, and draws some colored garbage 3/4 of the way 
down the screen

I can't understand why it's doing this

am I trying to allocate memory that I'm not allowed to touch? Am I 
swapping *out* some memory that's otherwise being used?

Im very lost and very confused!

Any help would be great!

Kind regards,
David

-- code follows --


org $0300
START    lda #%01001100 Coco3, MMU on, DRAM constant, standard SCS 16K 
internal 16K external ROM
    sta $FF90
    lda #%10000000 graphics
    sta $FF98
    lda #%00111110 200 lines of 320H by 16 colors
    sta $FF99
    clr $FF9C clear vertical scroll
    ldd #$C000 screen start divided by 8
    std $FF9D vertical offset
    clr $FF9F clear horizontal scroll
   
    lda #$30 first block of graphics screen at $60000
    sta $FFA1 mapped to $2000
    lda #$31
    sta $FFA2
    *lda #$32
    *sta $FFA3
    *lda #$33
    *sta $FFA4  
   
CLRSCRN ldy #HSCLEN
    ldx #HRESSCRN
CLRLOOP CLR ,X+
     LEAY -1,Y
     BNE CLRLOOP
ENDLOOP JMP ENDLOOP
   
HRESSCRN EQU $2000
HSCLEN   EQU $3E80

     end START



More information about the Coco mailing list