May I take a PEEK at your 128?

Started by nikoniko, January 18, 2007, 05:25 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

nikoniko

I'm sorting out what some default values of VDC registers should be, and if someone with a real 128 would run this short program and tell me what value it displays, I'd very much appreciate it. Thanks!

10 bank15:sys dec("cdda"),,25: rreg a: print a


nikoniko

#2
Thanks! And if I may bother you again, would you mind doing the same thing but poking 22 instead of 25?

Also, if you feel like it, would you please check if the following causes a visible display change?

10 bank15: sys dec("cdda"),,25: rreg a: sys dec("cdcc"), 64, 25
20 geta$:if a$="" then 20
30 sys dec("cdcc"),p,25

Pressing a key will restore the display to its original state and exit.

Christian Johansson

You have to be a bit careful here since the value in bits 0-3 of register 25 depends on the version of the VDC chip (given by bits 0-2 in 54784). For most VDC chips, it should be equal to bits 4-7 of register 22 but for version 0 of the VDC chip, the bits should be initialized to zero. I'm pretty sure that the Kernal/screen editor reads the VDC chip version from 54784 and sets the correct value.

Guest

For the record, I'm testing on an NTSC 128DCR.

Perhaps you should just create a small program to probe all the registers you are interested, have that program write the results to a text file, and then I can post the results of the text file.

nikoniko

Quote from: Christian JohanssonYou have to be a bit careful here since the value in bits 0-3 of register 25 depends on the version of the VDC chip (given by bits 0-2 in 54784). For most VDC chips, it should be equal to bits 4-7 of register 22 but for version 0 of the VDC chip, the bits should be initialized to zero. I'm pretty sure that the Kernal/screen editor reads the VDC chip version from 54784 and sets the correct value.
Thanks for the heads up. Are there any other notable differences between the various versions?

Quote from: plbyrdPerhaps you should just create a small program to probe all the registers you are interested, have that program write the results to a text file, and then I can post the results of the text file.
Thanks, I'll do that.

Christian Johansson

Quote from: nikoniko...
Thanks for the heads up. Are there any other notable differences between the various versions?
...
It's possible but I can't think of any from the top of my head right now. There are also differences in register values written by the Kernal for PAL and NTSC versions of the C128. The best source of information about this and other details about all the VDC registers (it's from where I took the information that I wrote) is probably the book "Mapping the Commodore 128". Just look near the register $D600 in the book and you will see pretty detailed explanations. I have a version of the book at my C128 page but I'm afraid to link to it here because if many people start downloading the book, I will run out of this month's bandwidth in no time since I have pretty limited bandwidth. I also have Buddy (Power Assembler) available for download on that page. I don't know if there is a private message function on this forum because in that case I could send the URL in a PM.

Mark Smith

How about e-mailing them to Lance and we'll all leech off of his bandwidth bill from this site ?  ;-)
------------------------------------------------------------------------------------------------------------------

Commodore 128, 512K 1750 REU, 1581, 1571, 1541-II, MMC64 + MP3@64, Retro-Replay + RR-Net and a 1541 Ultimate with 16MB REU, IDE64 v4.1 + 4GB CF :-)

nikoniko

Christian, thanks for the offer. If you would, please contact me through the e-mail link underneath my username, as that seems to be the closest thing to PM that we have here. I'd share my e-mail address directly except that I don't want spambots to get hold of it.