Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Hires bitmap RAM arrangement
2014-02-15 14:05
TSM

Registered: Jan 2007
Posts: 42
Hires bitmap RAM arrangement

I wanted to make a little program to display the "Doodle" picture file from this page:

http://www.editorix.org/congo/html/c64_image_formats__part_i.ht..

It loads at $1C00, so you have screen data at $1C00 and bitmap data at $2000. I set everything up very carefully (screen mode, base VIC address, screen RAM and bitmap RAM addresses) and the bitmap is correct but the colors are all messed up. If I move the screen data to $0C00 and change the address accordingly in $D018, then it works.
I wanted to display the picture without moving any data around; is this possible at all?
Strangely, if I save a snapshot with Vice at the messed-up screen and feed the file to "vicegrab", it will spit up a perfectly working .prg file (although with screen RAM @ $0C00)!
2014-02-15 14:17
Mixer

Registered: Apr 2008
Posts: 452
Please, take a minute to familiarize yourself with c-64 memory arrangement using common sources. (codebase,mapping c-64) etc.

Using $1000-$2000 for graphic data the way you wish is not doable. VIC sees system fonts there. Thus you need to relocate screen/color data.
2014-02-15 14:18
tlr

Registered: Sep 2003
Posts: 1790
The VIC always sees the char rom at $1000-$1fff and $9000-$9fff so if you point screen fetch to $1c00 you'll get the screen memory fetched from the inverted lower case charset.

You could just load the data to a different load address, say $5c00 and it'll be fine.
2014-02-15 14:22
TSM

Registered: Jan 2007
Posts: 42
Whoops, I overlooked that! Thank you!
2014-02-15 14:25
Krill

Registered: Apr 2002
Posts: 2980
Just for the record, VIC can see RAM at $1000-$1fff in the Ultimax memory configuration, which can be enabled using a cartridge.
(Mixer, tlr: I'm sure you know this and just didn't mention it for the sake of simplicity, but your absolute qualifiers seemed a bit too strict.)
2014-02-17 03:26
Graham
Account closed

Registered: Dec 2002
Posts: 990
If you don't want to move memory around, load the image to address $5C00. The VIC-bank $4000-$7FFF doesn't have any restrictions due to character ROM mapping.
2014-02-17 13:17
TSM

Registered: Jan 2007
Posts: 42
Thanks Graham, I did just that. Then, just the base address for the VIC had to be updated.
2014-02-17 16:43
Cruzer

Registered: Dec 2001
Posts: 1048
Krill: But doesn't the VIC just see the RAM at $0000-$0fff when looking at $1000-$1fff in the Ultimax memory configuration, since there is only 4K of RAM available? Thanks for pointing out this very important and relevant fact, btw. :)
2014-02-17 17:40
Oswald

Registered: Apr 2002
Posts: 5094
more cool facts: VICII will also display the contents of $0000 and $0001 instead of the CPU port. ;) there were also some wild speculations in a c= hacking (iirc) on how to write there. (have VICII read the data to be written while cpu sets bus to write)
2014-02-17 17:51
chatGPZ

Registered: Dec 2001
Posts: 11386
nothing to speculate there... i have written a little test program recently that does just that, check this :)
2014-02-17 19:59
Oswald

Registered: Apr 2002
Posts: 5094
its hard to see what it does (counts upwards, screen is at $0000?) so you have prooved this writing method works? and vice even emulates it? weird it does, the perequisites sound like they are only needed for this scenario.
 
... 15 posts hidden. Click here to view all posts....
 
Previous - 1 | 2 | 3 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Magic/Nah-Kolor
FunFun/Triangle
Darkflight
Guests online: 87
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 No Listen  (9.6)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Musicians
1 Rob Hubbard  (9.7)
2 Mutetus  (9.7)
3 Jeroen Tel  (9.7)
4 Linus  (9.6)
5 Stinsen  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.064 sec.