8296D 40/80 column ROM

Started by Steve Gray, February 20, 2009, 06:32 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Steve Gray

Wasn't sure if this should be in the hardware or software section since this is FIRMWARE related ;-)

Anyway, I have an 8296D machine which of course is 80 columns. I know you can convert it to 40 columns by changing the hardware. And I know there is a program to fool the 80 column machines into being 40 columns. However, was thinking of a ROM solution.

If I understand correctly, all the screen init and printing routines are in the "editor" ROM at $E000. If I burn a new double-size ROM I could have both the 40-column and 80-column editor selectable with a simple switch. Then all I have to do is edit the CRT controller register init values in the 40-column half the same way the software solution does it. This same solution should apply to any 8000 series machine...

Anyone try this, or have any thoughts?

Steve

SmallCleverDinosaur

Changing the CRT controller registers is one thing, but wouldn't all of the screen editor routines have to be re-written? They still expect the screen to be 80 columns.

If you apply this question to the C128, some serious re-writing of the editor routines would have to be made in order to make the 80-columns screen display everything in 40 columns.
Ignorance is a precious thing. Once lost, it can never be regained.

Steve Gray

Quote from: SmallCleverDinosaur on February 20, 2009, 06:36 PM
Changing the CRT controller registers is one thing, but wouldn't all of the screen editor routines have to be re-written? They still expect the screen to be 80 columns.

Well, that's the thing... the screen edit and printing routines are in the "Editor" ROM, so you would have all the correct routines for 40 columns AND 80 columns by combining the two ROMs into one. A switch connected to the highest Address line selects the top or bottom half of the ROM to choose (same as how the JiffyDOS rom works.. it contains both kernals).

The trick is to get the 80-column screen changed to 40 columns. You can do this in hardware by moving chips and changing jumpers. This will give you a true 40 column screen that fills the entire width of the tube. However, you can also change the CRT chip registers like the "80240" program does, and you will get 40 columns but not filling the entire screen...  The "80240" program does this PLUS patches the screen printing somehow (since it can't change the ROM).

So, you take the 40-column editor ROM which assumes a true 40-column hardware setup (and has CRT register values to match) and CHANGE the values to the ones that the "80240" uses. These values are in a simple table in the ROM. Then you ADD the 80-column ROM to the end and burn to an EPROM, plug it into an adapter socket with switch and you're done.

Steve

SmallCleverDinosaur

Well, it seems you already have it all figured out :)
Ignorance is a precious thing. Once lost, it can never be regained.

Steve Gray

#4
Quote from: SmallCleverDinosaur on February 21, 2009, 12:53 AM
Well, it seems you already have it all figured out :)

Theory... I'm hoping someone has already done it or might point out something I've missed before I actually try it myself.... ;-)

I thought of something else just now... all the 80 column machines have "business" keyboards and the 40 column have "graphic" keyboards. I wonder if the keyboard table is also in the editor rom or is it in the kernal??? If it's the editor rom, where can I get a 40-column business-keyboard editor ROM? Time to check zimmers to see what is available...

Steve

Steve Gray

Well, I see zimmers has the 40-column "normal" keyboard editor ROM so I should be ok. Now I'm thinking maybe go 4 roms in one with 2 switches so you can also select which keyboard to use... hmmm
There are also 50 and 60 Hz versions for NA or Europe models but an 8-in-one would be pushing it....

Steve

Shaun_CCC(UK)

This sounds interesting. Will it also work on the 8096 SK machines?

Regards,

Shaun.

Steve Gray

Quote from: Shaun_CCC(UK) on February 27, 2009, 10:07 PM
This sounds interesting. Will it also work on the 8096 SK machines?

Regards,

Shaun.

I don't see why not... the 8096 is basically just an 8032 with extra memory board.

I have to re-learn how to use my Promenade C1 EPROM burner so I can try this. I think I already have an adapter with switch in one of my C64's I could use.

Steve

Edwing

QuoteChanging the CRT controller registers is one thing, but wouldn't all of the screen editor routines have to be re-written? They still expect the screen to be 80 columns.

If you apply this question to the C128, some serious re-writing of the editor routines would have to be made in order to make the 80-columns screen display everything in 40 columns.

...sorry if I'm totally missing out on something here, but at least on the C128, isn't it sufficient (from a pragmatic POV) to just set a 40x25 window (with ESC sequences or WINDOW command) after activating double pixel size on the VDC and tweaking the sync registers accordingly? Or, if you don't like half of the screen RAM being filled with zeroes (rather out of principal reasons I suppose, because who actually cares about 2000 bytes of characters and attributes when you have 16 or even 64 K to spend?), just set that maximal width zeropage address recently discussed somewhere here to 39 and reset the editor or something... Cheers, Edwing