cbm prg studio

You need an actual VIC.

Moderator: Moderators

Post Reply
User avatar
merser
Vic 20 Drifter
Posts: 20
Joined: Sat Sep 30, 2017 4:50 pm
Location: brisbane

cbm prg studio

Post by merser »

Can someone explain how to load a list of bytes into memory using assembly in cbm prg studio.
I tried *=$1C00
BYTE 126,90,255,189...
I copied the code generated by the SYS call generator tool but the bytes don't load into the location specified when it is run in the emulator.
ajordison
Vic 20 Enthusiast
Posts: 179
Joined: Fri Mar 19, 2010 4:31 pm
Website: http://www.ajordison.co.uk/
Location: Hartlepool, UK
Occupation: Software Engineer

Re: cbm prg studio

Post by ajordison »

$1C00 is in the BASIC area, so BASIC itself might be over-writing your bytes. What are you trying to do?
Try out CBM prg Studio over at www.ajordison.co.uk
User avatar
merser
Vic 20 Drifter
Posts: 20
Joined: Sat Sep 30, 2017 4:50 pm
Location: brisbane

Re: cbm prg studio

Post by merser »

Hi,

I am copying the character set to top of ram and modifying. I just want to know an easier way of loading the modified character data into memory.
Thought I could do that with the byte statement but it doesn't appear to work. However if as you can see I do a series of loads and stores the data is there.


Code: Select all

; 10 SYS (6968)

*=$1001

        BYTE    $0E, $10, $0A, $00, $9E, $20, $28,  $36 
        BYTE    $39, $36, $38, $29, $00, $00, $00

*=$1C00
        byte    126, 90, 255, 189, 189, 36, 66, 36

CHAROM_START = $8000
CHARAM_START = $1C00
SCREEN_START = $1E00


*=$1B38

        lda #$93
        jsr $FFD2
        ldx #$0
Char_Copy        
        lda CHAROM_START,x
        sta CHARAM_START,x
        lda CHAROM_START,x + $100
        sta CHARAM_START,x + $100
        inx
        bne CHAR_COPY
New_Char
        lda #126
        sta CHARAM_START
        lda #90
        sta CHARAM_START + 1
        lda #255
        sta CHARAM_START + 2
        lda #189
        sta CHARAM_START + 3
        lda #189
        sta CHARAM_START + 4
        lda #36
        sta CHARAM_START + 5
        lda #66
        sta CHARAM_START + 6
        lda #36
        sta CHARAM_START + 7
Char_Pointer        
        lda #$FF
        sta $9005
Print_Char1
        lda #$40
        jsr $FFD2
End
        rts
User avatar
merser
Vic 20 Drifter
Posts: 20
Joined: Sat Sep 30, 2017 4:50 pm
Location: brisbane

Re: cbm prg studio

Post by merser »

OK so I figured out what I did wrong. The BYTE instruction was loading my custom character data into 7168-7175 at the start but then was copied over by the CHAR_COPY routine. Once I changed the starting address CHAROM_START and CHARAM_START to start after the loaded custom character data it worked.
Post Reply