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 > Bitmap display when enabling bitmap mode after an illegal screen mode
2023-11-02 12:42
cadaver

Registered: Feb 2002
Posts: 1153
Bitmap display when enabling bitmap mode after an illegal screen mode

In the case of a game which would have the screen top as the scrolling playfield, and the stationary bottom as a hires bitmap, one could do the blanking required between them by using an illegal screenmode such as $77 written to $d011.

However, I found that when the bitmap is enabled after blanking, and when because of unexpected delays (e.g. sprite DMA) it happens on the visible part of rasterline, the VIC-II displays something else for a few bytes before settling to displaying the expected bitmap row.

What is it exactly displaying, and what is the reason behind this? I know it is from somewhere in the same videobank, as I can get rid of the artifacts by clearing the videobank beforehand.
2023-11-02 12:47
chatGPZ

Registered: Dec 2001
Posts: 11116
Are you sure its not an artefact of the order you are writing the registers? ie $7x to d011, then set up d018,dd00,d016, then $3x to d011, so all the wrong combinations happen while its still invalid mode. Always worked for me that way at least :)
2023-11-02 13:10
cadaver

Registered: Feb 2002
Posts: 1153
I'm writing $d011 to visible value last, so it shouldn't be that. Due to current physical space constraints I've actually not tested on a real C64 yet, but VICE and Ultimate64 both seem to do this artifact.
2023-11-02 14:23
tlr

Registered: Sep 2003
Posts: 1714
In the vice the fetch address is masked with $39ff when the ECM bit is enabled. Can’t remember how we determined that but I assume it’s seen in one of the test programs.

Assuming this is true, then there will be a few cycles delay before a fetch using the non-ECM mode will be displayed, whereas the actual switch to non-illegal display mode should be almost instant. The first few bytes will be using data fetched before the switch.
2023-11-02 14:44
cadaver

Registered: Feb 2002
Posts: 1153
Thanks! This makes sense.
2023-11-02 18:30
Digger

Registered: Mar 2005
Posts: 421
While we’re at illegal ECM/bitmap modes; is there even a slightest possibility of stopping VIC-II from doing that (blanking the screen and drawing black pixels)? Similarly to opening/closing side-borders by manipulating $d016 at the right cycle. Or is it absolutely impossible by design?
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
Freeze/Blazon
Colt45RPM
Guests online: 129
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 Wonderland XIV  (9.6)
9 Memento Mori  (9.6)
10 Bromance  (9.5)
Top onefile Demos
1 It's More Fun to Com..  (9.7)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 TRSAC, Gabber & Pebe..  (9.5)
6 Rainbow Connection  (9.5)
7 Wafer Demo  (9.5)
8 Dawnfall V1.1  (9.5)
9 Quadrants  (9.5)
10 Daah, Those Acid Pil..  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Nostalgia  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Diskmag Editors
1 Jazzcat  (9.4)
2 Magic  (9.4)
3 hedning  (9.2)
4 Newscopy  (9.1)
5 Elwix  (9.1)

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