Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user Jedfox ! (Registered 2024-05-28) 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: 1154
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: 11148
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: 1154
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: 1727
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: 1154
Thanks! This makes sense.
2023-11-02 18:30
Digger

Registered: Mar 2005
Posts: 422
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
bugjam
Guests online: 104
Top Demos
1 Next Level  (9.8)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.7)
5 Edge of Disgrace  (9.6)
6 Aliens in Wonderland  (9.6)
7 No Bounds  (9.6)
8 Comaland 100%  (9.6)
9 Uncensored  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Happy Birthday Dr.J  (9.8)
2 Layers  (9.6)
3 It's More Fun to Com..  (9.6)
4 Cubic Dream  (9.6)
5 Party Elk 2  (9.6)
6 Copper Booze  (9.6)
7 TRSAC, Gabber & Pebe..  (9.5)
8 Rainbow Connection  (9.5)
9 Dawnfall V1.1  (9.5)
10 Daah, Those Acid Pil..  (9.5)
Top Groups
1 Nostalgia  (9.4)
2 Oxyron  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 SHAPE  (9.3)
Top Organizers
1 Burglar  (9.9)
2 Sixx  (9.8)
3 hedning  (9.7)
4 Irata  (9.7)
5 MWS  (9.6)

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