• Please review our updated Terms and Rules here

8032 to 40 column mode?

falter

Veteran Member
Joined
Jan 22, 2011
Messages
5,864
Location
Vancouver, BC
I seem to dimly remember that 8032 PETs were capable of dropping to 40 column mode for compatibility with older PET software. And that seems to be documented as well online... but I can't figure out how to do it. Does the program itself have to call up 40 column mode? Or is there a way to invoke it before loading a 40 column program?
 

jltursan

Veteran Member
Joined
Sep 24, 2010
Messages
766
Location
Madrid, Spain
Prior to execute any 40 column software you need to execute a 40-column "driver" like "cbm4032 any hz". Quoted from the manual itself:

This program changes the "print to screen vector" ($EB/$EC) and
initializes the CRT chip 6545 in graphics mode from a table of register
values , that except R1 (# char per line) and R2 (horizontal shift)
is equal to the ROM of a PET with 50 Hz vertical and 20 kHz horizontal
deflection (ROM #901474-04).

This version has a patch that makes it work with 50Hz/60Hz machines.
 

dave_m

Veteran Member
Joined
Feb 2, 2009
Messages
3,608
Location
Southern California, USA
I seem to dimly remember that 8032 PETs were capable of dropping to 40 column mode for compatibility with older PET software. And that seems to be documented as well online... but I can't figure out how to do it. Does the program itself have to call up 40 column mode? Or is there a way to invoke it before loading a 40 column program?

The program CBM4032.prg can be downloaded here.
 

sjgray

Experienced Member
Joined
Feb 3, 2009
Messages
467
Location
Markham, Ontario, Canada
I seem to dimly remember that 8032 PETs were capable of dropping to 40 column mode for compatibility with older PET software. And that seems to be documented as well online... but I can't figure out how to do it. Does the program itself have to call up 40 column mode? Or is there a way to invoke it before loading a 40 column program?

Also, for completeness I'll mention a few other options...

1) If your 8032 has a "universal dynamic pet" motherboard, then it will have a set of jumpers you can change to convert the machine to 40 column permanently. This will require a new EDIT ROM, and I think 1 mod to the motherboard. Of course you will lose 80 column capability.

2) There were 3rd-party boards that allowed you to switch from 40/80 as well, but you won't likely find one today.

3) You have to be aware that some 40-column software assumes the "N" or "graphic" keyboard, and will not work properly with "B" (business) keyboard as found on most 8032 machines.

4) I have a project to create PET EDIT ROMs. One thing I did was integrate the features of those software "drivers" mentioned above into the edit rom, so that they are available at power on. If all you need to do is run the occasional 40-column program/game then this is pretty convenient (ESC+X toggles the screen), although I'm not at the stage yet where the 40-column mode is usable for full-time use. Anyway, it might be worth considering. http://www.6502.org/users/sjgray/projects/editrom/index.html

Steve
 

jltursan

Veteran Member
Joined
Sep 24, 2010
Messages
766
Location
Madrid, Spain
Way cool!, the new Editor ROM seems also a great tool (the soft 40/80 switcher rocks), does it fits in 2KB?
Btw, your Colour PET board seems to be pretty advanced right now.
 

sjgray

Experienced Member
Joined
Feb 3, 2009
Messages
467
Location
Markham, Ontario, Canada
Way cool!, the new Editor ROM seems also a great tool (the soft 40/80 switcher rocks), does it fits in 2KB?
Btw, your Colour PET board seems to be pretty advanced right now.

If you use any advanced features then the EDIT ROM will need 4K, which is fully supported, unless you have a SuperPET. I haven't calculated how much code is required for 40/80 switching. Most of the edit rom is full so I don't think it would be possible to cram it into 2K, but you're welcome to try ;-) The "wedge" feature is quite handy if you have a petSD, PET MicroSD, or PETDISK for sending change directory commands, or just doing directories. The ESC codes let you do some neat screen tricks too. I'm currently working on the 40-column line linking features, hoping to get that working soon so that we can build new edit roms for all BASIC4 machines.

I have done a lot of planning for ColourPET (or ColourPET+G). I have a lot more ideas than are shown on the page, but sadly the hard part is getting time to actually prototype stuff. I did manage to get 16 different fonts on the screen at once which was pretty cool ;-)

Steve
 

dave_m

Veteran Member
Joined
Feb 2, 2009
Messages
3,608
Location
Southern California, USA
If you use any advanced features then the EDIT ROM will need 4K, which is fully supported, unless you have a SuperPET.

Hi Steve,

I like this idea of embedding the 40/80 select and Wedge code in regular ROM space, but if the Edit ROM grows over 2K, wouldn't it step on the I/O space? And the 8032 Universal boards do not allow chip select of Edit ROMs over 2K without a hardware mod.

These features would work well in the expansion ROM space as a new Tool Kit for BASIC 4.
-Dave
 

sjgray

Experienced Member
Joined
Feb 3, 2009
Messages
467
Location
Markham, Ontario, Canada
Hi Steve,

I like this idea of embedding the 40/80 select and Wedge code in regular ROM space, but if the Edit ROM grows over 2K, wouldn't it step on the I/O space? And the 8032 Universal boards do not allow chip select of Edit ROMs over 2K without a hardware mod.

These features would work well in the expansion ROM space as a new Tool Kit for BASIC 4.
-Dave

Not true. 4K roms are fully supported on the universal dynamic pet motherboards. The I/O space from $E800-E8FF appears as normal, and any ROM at that location is not visible. So in reality you have a maximum of 3.75K space for the edit rom. It would definitely be possible to modify my project code to stuff extended edit rom code in option rom space at $9xxx and/or $Axxx, but I prefer to leave those open for normal option roms.

Now, it is true that certain 3rd-party add-on boards, and the SuperPET board use addresses in the $E900-EFFF space. If you have any of those then there will be a conflict with a 4K EDIT ROM.

Steve
 

dave_m

Veteran Member
Joined
Feb 2, 2009
Messages
3,608
Location
Southern California, USA
Not true. 4K roms are fully supported on the universal dynamic pet motherboards. The I/O space from $E800-E8FF appears as normal, and any ROM at that location is not visible.

Hi Steve,
OK, I see. I looked again at the x8xx signal that inhibits the SEL E chip selection and understand what you are saying. The I/O area of $E800 - $E8FF is protected, but $E900 thru $EFFF is available for ROM code. I had assumed everything above $E800 was protected. I agree this is a better place to put the 40/80 switch. It leaves the expansion ROM space free for other applications like BATPRO, Tool Kit or custom stuff.

-Dave
 
Top