Login
Back to forumReply to this topicGo to last reply

Posted By

bszggg
on 2024-04-21
18:34:19
 cc65 : questions, answers and experiences

This topic is about using cc65 for the plus4 programming.

Posted By

bszggg
on 2024-04-21
18:38:59
 Re: cc65 : questions, answers and experiences

Hi!
has anyone of us made such a program with this that the graphic storage space did not cause an obstacle.
Ex: Did it start at $4,000?
or did you somehow translate something that copied itself back, or did you solve this?

As my first idea, I try to move the graphical space move to $6000, and it works ($ff12), but the color left on wrong place.. than I move it with $ff14, but the interrupt always set back to $1800

do you have any idea to solve this.
(my code longer than $1000-$1800 and I would like to use the graphic mode too)

THX!

Posted By

Haegar
on 2024-04-22
09:01:11
 Re: cc65 : questions, answers and experiences

Hello,

I hope I understood your question correctly:

colormap = $3800
bitmap = $4000

* = $xxxx

lda #$3b ; Hires on
sta $ff06
lda $FF07 ; PAL/NTSC friendly
lda #>bitrmap ; bitmap at $4000
ora #$18 ; $18 = multicolor, $08 = hires
sta $FF07

lda $FF12
and #$03 ; keep lowest 2 bits (sound)
ora #$10 ; $08 = $2000, $10 = $4000, etc., and RAM on
sta $FF12

lda #>colormap ; color map at $3800
sta $FF14

You can place the colormap in memory every $800 ($800, $1000, $1800, ...), the bitmap every $2000 ($2000, $4000, $6000,...).

Posted By

bszggg
on 2024-04-22
11:52:22
 Re: cc65 : questions, answers and experiences

@Haegar
Yes..
It works if is use SEI..
the interrupt switch back the original (color and luma) address.

a good solution to use the $07fb address

POKE(131,32); // 32 1-es mode, 96 2mod , 160 3mode, 224 4mode ||| $83 $60
POKE(0xff12,0xd8); // Graphical bitmap push to $6000
POKE(0x07FB,0x5f); // color and luma push below $6000 ($5800)

Thank you for your answer.. I'll use it for multicolor change happy HUG!

Posted By

Haegar
on 2024-04-22
12:13:21
 Re: cc65 : questions, answers and experiences

I asked a similar question a while ago:

change graphics memory

So the thanks go more to Csabo

Posted By

bszggg
on 2024-04-30
18:09:16
 Re: cc65 : questions, answers and experiences

-How can I delete my post? (I have just edit button)

(Finally I found the solution
I have to set it as a star
*gg->yposition= 0x08;
and get is from with star
POKE(3072, *gg->yposition);

-------------------------------
UPDATE:

Do somebody use a load in cc65?

This code works:

cbm_k_setnam("loader");
cbm_k_setlfs(0,8,0);
cbm_k_load(0, 0x0c00); // 0 is LOAD, 1 is VERIFY, 2 and 3 are VERA.

But just PRG.

How can I load SEQ?



-------------------------------
UPDATE:
This works, but the first 2 bytes has been dropped out:

cbm_k_setnam("sequential,s,r");
cbm_k_setlfs(0,8,0);
cbm_k_load(0, 0x0c00); // 0 is LOAD, 1 is VERIFY, 2 and 3 are VERA.




Back to topReply to this topic


Copyright © Plus/4 World Team, 2001-2024