| |
Oswald
Registered: Apr 2002 Posts: 5017 |
Hyperscreen + ECM mode forces d021 to black?
I'm using the kind of hyperscreen which disables screen enabled bit in d011 only on line $2f or so, then reenable it a bit later. VIC apparently checks the screen enabled flag only once per frame on this line.
Now I wanted to move the ghostbyte from $3fff to $39ff with ECM mode, and d021 goes to black with it.
at line $20 somewhere in the middle I put $00 into $d011, then at line $31 again in the middle I put $50 into $d011.
tried bitmap and char "mode" too, d021 shows its color if they are used.
badlines must be gone, as my 63 cycle raster kernel for each line works.
anyone experienced this, has an explanation? :)
not tested on real machine, vice2.4 and c64debugger v0.64.58 shows this behaviour similarly.
ps, I also tried to set color to the ecm color regs, but didnt work |
|
| |
JackAsser
Registered: Jun 2002 Posts: 1989 |
Have u accidently enabled multicolor on d016? Is $39ff really 0? |
| |
Oswald
Registered: Apr 2002 Posts: 5017 |
shiiit d016 it is hahaha :) |
| |
JackAsser
Registered: Jun 2002 Posts: 1989 |
Quote: shiiit d016 it is hahaha :)
Like a pro! 😂😂😂 |
| |
Martin Piper
Registered: Nov 2007 Posts: 634 |
This is the mode where it can display graphics data, but repeat every row with the same chars and no bad lines? |
| |
Oswald
Registered: Apr 2002 Posts: 5017 |
Martin, when the graphic sequencer is idle for the whole display area, so only $3fff and d021 is displayed but border is not on is called hyperscreen. You can achieve it as I described above, or doing the top/bottom border removal each frame, but turning the screen off for the 2nd write.
still the display (only $3fff or $39ff in ecm mode) is affected by the gfx mode selected, or invalid mode.
for a display with same screen data but no badlines you need to be in bitmap mode and do the trick which stretches the last line of a char row. That is write increasing values of 3 bits into d011 in a 63 cycle long loop. cycle within the line of the write I can not tell you from the top of my head. |
| |
Mixer
Registered: Apr 2008 Posts: 422 |
The hyperscreens and the repeat line mode and line crunch are well described in the VIC-article. Search for the vic-article. VIC Article [english] |
| |
chatGPZ
Registered: Dec 2001 Posts: 11108 |
Quote:Martin, when the graphic sequencer is idle for the whole display area, so only $3fff and d021 is displayed but border is not on is called hyperscreen.
actually the VIC article refers to hyperscreen as opening the vertical border, not closing it :) |
| |
Oswald
Registered: Apr 2002 Posts: 5017 |
Quote: Quote:Martin, when the graphic sequencer is idle for the whole display area, so only $3fff and d021 is displayed but border is not on is called hyperscreen.
actually the VIC article refers to hyperscreen as opening the vertical border, not closing it :)
Groppie ? I've said border is not on. anyway you know I know how to code hyperscreen and what it is after 30 yrs of demoing, you're just picking me. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11108 |
check the article again :) |
| |
Oswald
Registered: Apr 2002 Posts: 5017 |
Quote: check the article again :)
I'm not playing your game, shouldnt have replied in the first place. |