• Please review our updated Terms and Rules here

Commodore PET 4032 40 col to 80 col upgrade

magicappstore

Member
Joined
Nov 27, 2011
Messages
27
I've been looking around for the edit rom file that will show 80 cols on a 4032. I've done all the hardware changes already but am just missing the rom.

I've checked on http://www.zimmers.net/anonftp/pub/cbm/firmware/computers/pet/ but no luck, edit-4-80-n-50Hz.bin is what I need but it doesn't seem top exist, only the business ones, has anybody else done this upgrade and have a rom file they can share?

I've seen the articles in http://www.tpug.ca/archive/torpet/Torpet_Issue_7_Oct_1981.pdf but alas I don't know how to convert the assembler code into hex to put into my eprom burner.

Any help would be appreciated,

Dan
 
Hi Mike,

Thanks for the link, that's a great article, I wish I'd followed that one from the start! I'm not sure about using that rom though, as you mentioned it's 60hz and my PETs a 50hz model.

I'll have a crack at converting the assembler in that torpet article to hex, though I wonder if any of it is specific to the 60hz model?


Thanks for your help,

Dan
 
Perhaps you can modify the business keyboard version for graphics keyboard? As far as I know, it is "only" a matrix of which row & column matches which key. You could for example use a hex editor to compare the edit-2-b and edit-2-n files, or probably even compare the edit-4-40-n-50Hz and edit-4-80-b-50Hz, as the keyboard layout should be independent from the number of columns displayed on screen. Try it in VICE first, I imagine the emulator can be configured to just about any liking.

As a related example, I made a quick and dirty hack in a hex editor to get a DVORAK like layout on a graphics keyboard PET. While it hasn't been tested on a real PET, it worked at first attempt in the emulator so it appears to be relatively easy once you know which values you're changing.
 
Hi Mike,

Thanks for the link, that's a great article, I wish I'd followed that one from the start! I'm not sure about using that rom though, as you mentioned it's 60hz and my PETs a 50hz model.

I'll have a crack at converting the assembler in that torpet article to hex, though I wonder if any of it is specific to the 60hz model?


Thanks for your help,

Dan
I wonder why there even are 50 and 60Hz versions of the late model PETs; AFAIK the whole system runs on DC so it has no way of even knowing what the line frequency is. Maybe to avoid visual interference from fluorescent lighting? Any ideas?

Maybe I'll try a 50Hz ROM in my FAT40 or 8032 and see for myself what happens the other way around...
 
Doesn't the monitor take AC input from the transformer, and perhaps the video signal is "synchronized" to the line frequency of the monitor rather than the CPU board itself?
 
Doesn't the monitor take AC input from the transformer, and perhaps the video signal is "synchronized" to the line frequency of the monitor rather than the CPU board itself?
Anders,
The CRT circuitry only uses low voltage AC (either 50 or 60 Hz) to rectify it in order to create regulated DC for use in the high voltage section. The vertical frequency is determined by either the CRTC chip in the newer design or countdown logic in the older designs. In either case it is derived from the 1 MHz clock and does not seem to have anything to do with line frequency.

The 50/60Hz Editor ROM variation may have more to do with the North American character set/keyboard decoding versus European keyboards than actual line frequency or is most of that done in the character generator ROM?

There is some different code for correction of the jiffy clock, but I'm guessing that has to do with vertical frequency differences between 9 inch and 12 inch CRTs rather than 50/60 Hz.
-Dave
 
Thanks for your suggestions guys, Anders: I've tried copying the keyboard decoding table from my 40 col rom (E6D1-E720 - as indicated on http://www.zimmers.net/anonftp/pub/cbm/firmware/computers/pet/d/petdis) but the keys not displaying the correct character when pressed. Maybe there's more that needs changing other than the table?

Mike: I also tried to use the 60hz version of the rom and initially I thought it had all worked okay but on closer inspection I can see the characters on the screen shaking around slightly, with the 80 col business rom the screen image is perfectly still.

Going back to the original Torpet article, there is a new routine that needs to be created (reprogram CRTC and lower case):

E5BA LDA (No.sign)$09
E5BC STA $E880
E5BF STA $E881
E5C2 LDA (No.Sign)$0E
E5C4 STA $E84C
E5C7 LDX (No.Sign)$00
E5C9 STX $E84B
E5CC RTS

This looks to be setting some I/O registers, (other than the lower case) does anybody know what they are? I've done all the rom changes from the article but the PET doesn't boot and I wonder if its to do with this function setting values that are meant to be for 60hz machines only?


Thanks for your help,

Dan
 
Anders,
The CRT circuitry only uses low voltage AC (either 50 or 60 Hz) to rectify it in order to create regulated DC for use in the high voltage section. The vertical frequency is determined by either the CRTC chip in the newer design or countdown logic in the older designs. In either case it is derived from the 1 MHz clock and does not seem to have anything to do with line frequency.
Yeah, I think everything runs off DC and the line frequency doesn't appear anywhere. I wonder whether maybe it's about magnetic interaction between the power transformer and the deflection yoke...

The 50/60Hz Editor ROM variation may have more to do with the North American character set/keyboard decoding versus European keyboards than actual line frequency or is most of that done in the character generator ROM?

There is some different code for correction of the jiffy clock, but I'm guessing that has to do with vertical frequency differences between 9 inch and 12 inch CRTs rather than 50/60 Hz.
-Dave
Are you talking about the ten bytes that are different between 901498-01 and 901499-01 (the 50 & 60Hz CRTC 40 col. 'N' PET ROMs AFAIK)? Curiously the 'CBM' (80 column?) versions have about 30 bytes that are different...

Kinda interesting; I wonder why the Torpet article goes to all that trouble instead of just patching the keyboard matrix; we must be missing something...

Dan: Could you check the part number of your original 40-column ROM and maybe even sum the bytes in it so we can confirm that it is indeed the 901498-01 ROM that we think belongs in a 50Hz FAT40? I'll also check the ROM in mine just to make sure that we're comparing the right ROMs.

I assume that the 80 column business ROM that displays correctly is 901474-04 ?

On another (related) topic:
Dave & Anders: my programmer seems to have developed a problem programming (only AFAIK) 2532s; there was a discussion a while back about an adapter with a diode and some jumpers to permit programming a 2532 as a 2732 but I haven't been able to find it. By any chance do either of you have the info or a link handy so I can burn 2532s until I get a chance to dig into my programmer's innards? TIA for any help!
 
Last edited:
At second thought, the number of keys are different on graphics and business keyboards so perhaps there is more decoding code involved than just the keyboard matrix? A comparison of the two edit-2 ROMs would tell us how many differences those two have between eachother.
 
Going back to the original Torpet article, there is a new routine that needs to be created (reprogram CRTC and lower case):

E5BA LDA (No.sign)$09
E5BC STA $E880
E5BF STA $E881
E5C2 LDA (No.Sign)$0E
E5C4 STA $E84C
E5C7 LDX (No.Sign)$00
E5C9 STX $E84B
E5CC RTS

This looks to be setting some I/O registers, (other than the lower case) does anybody know what they are? I've done all the rom changes from the article but the PET doesn't boot and I wonder if its to do with this function setting values that are meant to be for 60hz machines only?

Dan,
The first three instructions loads a 9 into the CRTC address register and then writes the 9 into register 9. This sets up the CRTC to use 9 scan lines. This is what the 80 column screen uses.

The next chunk of code load an $E into the 6522 VIA register C which I think sets up lower case for the 80 column mode.

The last chunk of code writes a zero into the VIA register B which clears the Auxiliary Control Register. This will disable the timer, shift register and latch functions of the chip. I'm not sure what this last code has to with 80 columns.
 
Many thanks for the explanation of the assembler Dave, that made it clearer to me what it was doing. After hours of messing around I ditched the idea of changing all the different rom entries as suggested in the 1st article and instead tried changing the key mappings around again in the business 80 col rom but this time following the instructions of the 2nd Torpet article and finally I have it working!

Thanks for your help guys, my PET is back to life and displaying 80 cols!
 
Thanks for your help guys, my PET is back to life and displaying 80 cols!

That is great. If you need to temporarily change the screen back to 40 columns to run the classic PET games, there is a PET program called CBM4032 which will do this. It changes the register data in CRTC (6545 chip) to produce a centered image of skinny 40 characters (not fat 40). To change back to 80 columns, a reset or power up is required.


Assuming you have set up one of the many methods to get programs transferred from a PC into a PET, there is a CD from the Toronto Pet Users Group which contains CBM4032 as well as thousands of other PET programs, games etc. See the link for more info:

http://www.tpug.ca/index.php?option...le&id=69:librarycd&catid=41:library&Itemid=65

-Dave
 
... tried changing the key mappings around again in the business 80 col rom but this time following the instructions of the 2nd Torpet article and finally I have it working!
Good work!

I hang my head in shame; I've been a member of TPUG on and off since early 1980s and should have known about that second article in my club's paper ;-) BTW Dan, how did you manage to find it?

Maybe the writer of the first doing-it-the-hard-way article just didn't have access to an 8032 ROM.
 
Thanks for the link Dave, believe it or not I haven't actually got any software for the PET I've only recently got it fully working and getting software/games from my PC to the PET is my next project. I'll do a bit of searching, I'm sure it's been answered before on this forum.

Mike: I'm not sure how I found the 2nd Torpet article, I stumbled across it after many searches I think! For anyone who wants to upgrade a 40XX in the future here is the link you need to upgrade to 80 columns:

http://tpug.ca/archive/torpet/Torpet_Issue_8_January_1982.pdf

I've also posted the modified edit rom here: http://www.vectorlight.net/documents/vintage/pet/edit-4-80-n-50Hz.901498-01.bin


Thanks,

Dan
 
Perhaps Hexsane and you should upload your custom ROMs to Zimmers FTP? It appears the firmware directory contains a fair share of more or less homebrew ROMs, so they wouldn't be completely out of place even if there is no real part number to match.
 
Here's an excellent writeup (including a link to the ROM image) by Hexsane (Matt), a regular visitor here; he could probably help you if you have any further questions or problems. This is a 60Hz version though, if that matters.

http://vintagemashups.net/2010/12/commodore-pet-4032-fat-40-upgrade-to-8032/

Does anyone have the "edit-4-80-n-60Hz.901474-03.bin" rom created in the blog post referenced here. The site is gone and the wayback version of it didn't save the bin file. None of the repositories include the 'N' version of the 80 column edit rom, it seems (except I found one 'unk' one that might have been correct but that didn't seem to work for me).
 
Back
Top