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 > $D016 bit 5
2023-08-05 18:22
Krill

Registered: Apr 2002
Posts: 2980
$D016 bit 5

There is this mysterious bit early on in the KERNAL reset routine:
FCEF: 8E 16 D0  STX $D016     ; VIC: Control Register 2
with X being anything in [0..5].

Now, some people [who?] claim that without this store to $d016, some [which?] cartridges won't start [citation needed].

However, $D016 apparently used to have a mysterious "reset bit" in supposedly early VIC-II revisions (those with only 5 not 9 luma steps, and then the early ones of those).
   | Bit  5   |    Reset-Bit: 1 = Stop VIC (no Video Out, no RAM  |
   |          |                   refresh, no bus access)         |
Could this be the reason why some things on some machines (?) won't start without that store to $D016?
Do any machines still exist where setting $D016 to, say, $f8 would crash them (when running code from RAM)?
Or did this "reset bit" never exist? =)
 
... 66 posts hidden. Click here to view all posts....
 
2023-08-08 12:27
tlr

Registered: Sep 2003
Posts: 1790
Also in the C64 Programmer's Reference (second printing 1983), p447, this is stated:
"The reset bit (RES) in register 22 ($16) is not used for normal operation. Therefore it should be set to "0" when initializing the video chip. When set to a "1," the entire operation of the video chip is suspended, including video outputs and sync, memory refresh, and system bus access."

pdf: http://cini.classiccmp.org/pdf/Commodore/C64%20Programmer%27s%2..
2023-08-08 12:59
chatGPZ

Registered: Dec 2001
Posts: 11386
Posted a request here

Interestingly, the german "64 Intern" (which is basically a ripoff/translation of the PRG) does not describe bit 5 at all. To me that hints at it perhaps being removed from later editions of the PRG too. Maybe :)
2023-08-08 14:09
ws

Registered: Apr 2012
Posts: 251
Hej, just something i remembered is, that exactly this (screen going black, machine halting) happened to me a long time ago on my C128 in C64 mode while fiddling around with D016.
I remember this, because that is how i initially learned that one shouldn't just write untreated values into any register ("Oh, that is what this AND + OR is for!").
Sadly i don't own that machine anymore. Did anyone try this on a C128 (the reduced C64-like case version, not D)?
Please excuse if i am too far off topic.
2023-08-08 14:20
tlr

Registered: Sep 2003
Posts: 1790
Quote: Hej, just something i remembered is, that exactly this (screen going black, machine halting) happened to me a long time ago on my C128 in C64 mode while fiddling around with D016.
I remember this, because that is how i initially learned that one shouldn't just write untreated values into any register ("Oh, that is what this AND + OR is for!").
Sadly i don't own that machine anymore. Did anyone try this on a C128 (the reduced C64-like case version, not D)?
Please excuse if i am too far off topic.


The C128 PRG does state for $d016: "5 ALWAYS SET THIS BIT TO 0"

here (p547): https://www.pagetable.com/docs/Commodore%20128%20Programmer%27s..

Never noted that before but I've never really dug into the C128. Does that bit do anything?
2023-08-08 15:20
Jetboy

Registered: Jul 2006
Posts: 338
It does.
I remember fixing some demos to write nicely to $d016 to be able to run them on my c128. There were not many that needed that. I don't remember which ones were those. It was 25++ years ago :)
2023-08-08 15:31
chatGPZ

Registered: Dec 2001
Posts: 11386
And you don't mix it up with $d030?
2023-08-08 15:45
ws

Registered: Apr 2012
Posts: 251
I personally am sure that i don't mix it up with $d030 because i actually wrote one (lost) intro that uses the "switch mhz mode in the border" trick.
2023-08-08 15:46
Jetboy

Registered: Jul 2006
Posts: 338
> And you don't mix it up with $d030?

There is such possibility.

Fiddling with bit 5 in vice 128 does not matter (both c128 and c64 modes). I do not have real HW to check.
2023-08-08 16:34
GeirS

Registered: Jan 2014
Posts: 4
Quoting chatGPZ
To me that hints at it perhaps being removed from later editions of the PRG too. Maybe :)

I can confirm that the textual description of the reset bit has been removed from Appendix N in my printed PRG (first edition, fourth printing - 1983.) There's just some extra empty space between the "Reset" heading and the next "Theory of operation" heading.
2023-08-08 20:53
chatGPZ

Registered: Dec 2001
Posts: 11386
Ha!
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 - 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
The Human Co../Maste..
Trurl/Extend
Knight Rider/TREX
Gordian
taper/ΤRIΛD
Magic/Nah-Kolor
Scrap/Genesis Project
GI-Joe/MYD!
Paladin/G★P
jobj
bugjam
rikib80
Guests online: 99
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 The Demo Coder  (9.6)
6 Edge of Disgrace  (9.6)
7 What Is The Matrix 2  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 Cubic Dream  (9.6)
3 Party Elk 2  (9.6)
4 X-Mas Demo 2024  (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 Booze Design  (9.3)
2 Oxyron  (9.3)
3 Performers  (9.3)
4 Censor Design  (9.3)
5 Triad  (9.3)
Top Original Suppliers
1 Derbyshire Ram  (9.7)
2 Fungus  (9.3)
3 Black Beard  (9.2)
4 Baracuda  (9.2)
5 hedning  (9.1)

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