Re: CBM-II Character Set and Colour Expansion (was: BASIC for the CBM-II/8088)

From: Steve Gray <sjgray_at_rogers.com>
Date: Sun, 15 Jul 2018 04:44:17 +0000 (UTC)
Message-ID: <2122872369.4554468.1531629857920@mail.yahoo.com>
Sometimes the obvious stares you in the face. So, if I just reverse the upper 128 extended characters they will just get reversed again and come out normal. No need to mod the motherboard.... unless...
Now I have to fix the extra phantom 9th pixel that gets turned on whenever RVS characters are shown.... I fixed my B128 by cutting a pin and I assume it will also work on the high-profile machines. (Anyone try this?)
BTW, my machine's video RAM chip is soldered in, so I'll have to socket it if I'm gonna work on the Colour expansion too.
Steve

      From: Steve Gray <sjgray@rogers.com>
 To: "cbm-hackers@musoftware.de" <cbm-hackers@musoftware.de> 
 Sent: Saturday, July 14, 2018 10:11 PM
 Subject: Re: CBM-II Character Set and Colour Expansion (was: BASIC for the CBM-II/8088)
   
Hi All,
I've built a mockup of a 256 character mod for the CBM-II HP. I took one of my PET Multi-EditROM adapters and hacked it to accept the REVID line as the upper address line. The adapter allows 4 font sets (a set is 4 fonts). I assembled 4 test sets consisting of normal CBM-II HP fonts, LP fonts, EGA and CGA fonts, a semi-graphic font, and a custom "double-wide" font. With this I am able to display 256 unique characters on the screen at once. The adapter board goes on the character rom socket, and there is a line to REVID (character high bit). I haven't modified the motherboard yet so the custom characters are still reversed but it shows that it is definitely possible!
The "semigraphic" font exploits the 256 characters by dividing one character into 8 blocks (2 wide by 4 tall). This means on an 80x25 screen you can generate a pseudo 160x100 pixel bitmap.The "double wide" font lets you use the upper 128 characters to generate double-wide characters. So for example:
PRINT "{RVS}aAbBcC" 
will print "ABC"  as double-wide.
Steve

      From: Steve Gray <sjgray@rogers.com>
 To: "cbm-hackers@musoftware.de" <cbm-hackers@musoftware.de> 
 Sent: Tuesday, July 10, 2018 8:06 PM
 Subject: CBM-II Character Set and Colour Expansion (was: BASIC for the CBM-II/8088)
  
I've looked again at the schematics and yes, this is possible. My Colour-Bee block diagram is basically the attribute RAM. I'd put 2K at $C000-C7FF. We should be able to piggyback this 2K on the existing video ram socket with a small adapter. This means the ram will already be "behind" the cpu/crtc multiplexers (U14,U15,U22 of the HP schematics) again as in my block diagram.
Perhaps we could put another 2K at $C800-CFFF for future software defined fonts (I am currently working on a PET soft-font system which should be adaptable to the CBM-II).
The 256 character set expansion would be a simple ROM to EPROM adapter for U41 that doubles the size (2764 EPROM) and inserts DOTD7 between A10 and A11. Then the REVID line is disabled by grounding PIN5 of U63.
I've noticed that for the most part the VIDEO RAM and CHR ROM are both socketed so this shouldn't be too much trouble.
Steve

      From: Mia Magnusson <mia@plea.se>
 To: cbm-hackers@musoftware.de 
 Sent: Tuesday, July 10, 2018 2:34 PM
 Subject: Re: BASIC for the CBM-II/8088
  
Re video emulation:

How much of the components of the B motherboard are socketed and how
much is soldered directly to the board? I've seen some pictures and it
seems like only the largest IC's are socketed.

Looking at the schematics, it would be really easy to add support for a
PC8 char rom and reuse the invert signal (MSB of screen ram data) to
support 256 instead of 128 characters.

It would not be that hard to add an additional of 2k ram as attribute
memory, although it would require a bit more effort. U25 74LS139
already decodes $C000-$DFFFF in 2k steps, where $D800-$DFFF isn't
useable as U24 74S138 already decodes that 2k block into 256 byte
blocks. $D000-$D7FF is already used for existing video ram. $C000-$C7FF
and $C800-$CFFF is free and either one of these could be used for
another 2k which could be used as attribute memory.

Of course this would only be visible by the 6509, but it would still
make it far easier, just copy 4k of data each time the screen needs
updating. Not sure if a 4k block copy (fixed addresses both for source
and destination, and requiring ,Y indirect addressing for either source
or destination) would be too slow to just do on each interrupt.


-- 
(\_/) Copy the bunny to your mails to help
(O.o) him achieve world domination.
(> <) Come join the dark side.
/_|_\ We have cookies.



   

   

   
Received on 2018-07-15 07:00:04

Archive generated by hypermail 2.2.0.