Re: CBM-II Colour mod

From: Steve Gray <sjgray_at_rogers.com>
Date: Wed, 8 Nov 2017 21:07:08 +0000 (UTC)
Message-ID: <1945096070.4969488.1510175228928@mail.yahoo.com>
I looked into doing a colour 8296 but the memory access method put me off.
I did come up with a simple 16-colour mod based on a custom font, using 4 bits as character and 4 bits as colour. Then you program the CRTC to have 100 lines of 2-pixel tall characters (using 8K video ram). This allow 160x200 "pixel" graphics in 16 colours (although only 1 colour per "character" block). You could do a monochrome 160x200 pixel graphics mode with with only a character generator ROM replacement and no other mods. Or, one step further, using a custom font with all 256 characters devoted to graphics you could do a 320x200 bitmap (although due to the hardware "reverse" circuit it would be a little more complicated to plot the pixels).
A while ago I wrote a little utility to generate these "semi-graphic" font sets here: https://github.com/sjgray/SemiGraphicGen
if anyone wants to try them.
If I were to make a new PET or 8296 I think I'd just bump up the CPU clock to 2MHz and then you wouldn't need to go through all the hassle of reading two characters at a time. Adding colour would be simpler as well.
Steve







      From: Mia Magnusson <mia@plea.se>
 To: cbm-hackers@musoftware.de 
 Sent: Wednesday, November 8, 2017 10:41 AM
 Subject: Re: CBM-II Colour mod
   
Den Tue, 7 Nov 2017 19:19:44 +0000 (UTC) skrev Steve Gray
<sjgray@rogers.com>:
> Nope, that's about it. You could probably wire it up in an hour. Me,
> it takes years ;-)Basically, the circuit that handles the current
> monochrome 80 columns is duplicated for colour. Due to the 1Mhz clock
> commodore had to split the ram into two, read them at the same time,
> latch them and shift them out one after the other. So for an
> 80-column colour screen you'd effectively have a 32-bit wide video
> buss. The article mentions a 160x100 pixel "graphics" mode, which I
> assume is just done with standard petscii block characters. Steve

It's interesting that the 8296 has two banks of 64k, but has the data
bus in parallell and reads two bytes for the graphics between each cpu
memory access.

An 8296, or atleast a replica using about the same hardware, could do
80 columns in color if the memory would be split so those two reads
per 1MHz half cycle would read 16 bits each, 8 bits from each memory
bank. On a real 8296 that would require both an additional LS245
together with lifting the DO/DI pins on each RAM chip in one of the
banks, and also making some logic that rearranges what part of physical
memory maps to where in the CPU memory map (i.e. as the machine has
128K, where 96K is officially to be compatible with 8096 and 32K is
just used for display memory and configurable to appear in the space
that's usually used for expansion ROM's, leaving quite a bit of memory
unusable. That part of memory should be remapped so it is in the lower
part of one of the "96k" banks, and the lower part of that "96k bank"
that's then leftover should be used as attribute ram. Somehow.
Perhaps. Or as a first stage just use one of the "96k banks" as
attribute memory and have an i/o port making it possible to turn on and
off the attribute feature.


P.S. while I'm at it, it might be worth looking at current SRAM prices
before designing a new "B" type motherboard using SRAM's. I don't know
how much the price is for the slower devices that's adequate for this
kind of project, but I've read that the faster SRAM's used in the open
source Amiga accelerator Terribe Fire TF530 (see the forum EAB) is much
higher today than at the time the design were made just a short while
ago.


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

      Message was sent through the cbm-hackers mailing list


   

       Message was sent through the cbm-hackers mailing list
Received on 2017-11-08 22:00:03

Archive generated by hypermail 2.2.0.