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: 1163
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: 11523
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: 1163
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: 1814
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: 1163
Thanks! This makes sense.
2023-11-02 18:30
Digger

Registered: Mar 2005
Posts: 448
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
Mason/Unicess
metalux
Alakran_64
4gentE/ΤRIΛD
JEZ
Twilight/Excess/Arcade
Guests online: 299
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Codeboys & Endians  (9.7)
4 Mojo  (9.6)
5 Coma Light 13  (9.6)
6 Edge of Disgrace  (9.6)
7 Signal Carnival  (9.6)
8 Wonderland XIV  (9.5)
9 Uncensored  (9.5)
10 Comaland 100%  (9.5)
Top onefile Demos
1 Nine  (9.7)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.5)
6 Scan and Spin  (9.5)
7 Onscreen 5k  (9.5)
8 Grey  (9.5)
9 Dawnfall V1.1  (9.5)
10 Rainbow Connection  (9.5)
Top Groups
1 Artline Designs  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Performers  (9.3)
5 Censor Design  (9.3)
Top NTSC-Fixers
1 Pudwerx  (10)
2 Stormbringer  (9.7)
3 Fungus  (9.6)
4 Booze  (9.5)
5 Grim Reaper  (9.3)

Home - Disclaimer
Copyright © No Name 2001-2025
Page generated in: 0.081 sec.