"Video Card" Thoughts

74 views
Skip to first unread message

Hans Van Slooten

unread,
Jun 16, 2022, 10:11:23 AM6/16/22
to PAL 6502 computer
Hi Everyone,

Now that everything is pretty much working, I've been coming up with
other projects in my mind and I thought of one that I figured I would
bounce off the group here before I went too far.

I have a few ESP32 dev boards (those $10 ESP-WROOM-32 32 pin things
you can buy) and I was thinking that I might be able to use it to read
off the address/data lines and handle writes for a some 1K memory
block for character memory and 1K for video memory (similar to the
C64); and then write it out to a VGA connector.

Now, as a non-hardware guy (I have many years of software development
experience) is this a sound idea? The one I have has a 240Mhz
processor and 512K of internal RAM. I figured I would just mirror the
memory addresses in the internal RAM based on the writes on the bus
(I'm not sure if I can or will handle reads yet). I believe using I2S
you can read multiple pins in parallel, so you could group the address
and data pins as reads.

I have experience with Arduinos and have found enough projects doing
VGA output that I'm sure this board can handle that (the Arduino Nano
I first considered doing this with lacks the performance or pin count
to really do this, I think).

Ultimately, I was thinking of a "video card" with a couple different
modes that could be changed with either a "register" setting at a
memory location. They would look similar to 40 column mode on the C64
and maybe the 80x24 text mode.

I think this could be a fun project with enough challenges to keep me
interested, but I wanted to make sure I'm not completely ignoring
something that would make it impossible due to my lack of experience
with hardware.

If I can get this working, the obvious next project would be some sort
of keyboard adapter (maybe using the RIOT expansion and building
software that takes advantage of it.

Thanks!
Hans (the other one)

Jeremy Starcher

unread,
Jun 16, 2022, 2:08:32 PM6/16/22
to PAL 6502 computer
Look into this:



A TV card designed by Don Lancaster -- it would be awesome if any solution you came up with backwards compatible with his in case anyone has any retro software that uses that.  (I've never seen any, but I'm new to the KIM scene.)

Ronny Ribeiro

unread,
Jun 16, 2022, 3:47:06 PM6/16/22
to PAL 6502 computer
Wow, Jeremy! I remember having seen this a long time ago but I totally forgot about! It can be the very new extension board for PAL!
I would order it right away, Liu! XD
Hans, I think It's a good project. But before you decide about the microcontroller/video processor, search for the Parallax Propeller P8X32A. There are lots of projects that use this chip as video interface for vintage computers, like this one:
http://www.brielcomputers.com/wordpress/?cat=25
But of course, Jeremy's hint is wonderful too. It's seems as vintage as possible and would go very happily alongside the cassette tape interface :) 
Cheers!

Ronny

Hans Van Slooten

unread,
Jun 16, 2022, 4:59:58 PM6/16/22
to Ronny Ribeiro, PAL 6502 computer
Thanks for the suggestions, Jeremy and Ronny. I remember seeing that
TVT6 a while back. It might be good to have compatibility with that.

That Parallax Propeller looks interesting as well, Ronny. I will
definitely dig into the specs on it.

Thanks,
Hans
> --
> You received this message because you are subscribed to the Google Groups "PAL 6502 computer" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to pal6502+u...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/pal6502/efe954ac-b09d-410d-9032-7a445a2aef7en%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Jeremy Starcher

unread,
Jun 16, 2022, 9:35:04 PM6/16/22
to PAL 6502 computer
In addition, if you are looking to add a keyboard there are a few options.  For the most 'modern" solution, bit-banging a PS/2 keyboard is pretty easy, though PS2 keyboards are getting a little rare.  You might have to tie into the interrupt line, unless you like doing a lot of polling -- which, on the KIM-1, may not be the worst option.

More "period appropriate" would be adding an ASCII keyboard up to the serial line and using the KIM-1's native serial I/O to drive it.  Good luck finding a serial keyboard though -- unless you want to make your own.

If you don't mind a lot of soldering, that is fairly easy.  If you don't like a lot of manually running wires, then going for a custom PCB would be easy enough as well.  This is something I"ve really looked at and am near ready to make that step.

An arduino and some custom software to scan the keyboard and emit the correct ASCII character is pretty easy -- and as long as you keep the SHIFT keys out of the matrix, you don't even need the diodes because ASCII keyboards don't support roll-over.n  (Rollover is when a keyboard allows you to hold down multiple keys at once.)

A plus side of this is that you don't have to worry about lower case letters. Just pretend they don't exist.

I just don't like the look of "modern" 101+ key keyboards with retro computers.  Its as crazy as putting a giant glass pyramid outside of a world-class art museum.

https://www.elektormagazine.com/magazine/elektor-198305/45017


Matt Balmer

unread,
Jun 28, 2022, 12:17:07 AM6/28/22
to PAL 6502 computer
I'm actually coming at this from the other direction, first, doing the keyboard.

I have a keyboard out of an old HP-86B that was a parts machine, and I've mapped out the keyboard matrix, so I'm trying to figure out which avenue to take from there -- do I write a custom routine to decode the keyboard from the KIM side first, theoretically keeping the serial port free for other uses? I'm wanting to eventually make it part of a home-built terminal using an old CRT tube, a 16550 UART (if needed) and an Intel 8275 CRT controller chip to produce the text on screen. 

I'm not even sure that it's possible to put it all on the expansion bus, given that it's already being taken up with a 32K RAM board, the second RIOT, and the ROM expansion module -- so it's unclear if there's room for not only an extended keyboard handler, but also something to eventually talk with the CRT controller.

I'm sure someone did it at some point, but given how many other add-ons I already have, I don't know if there's room.

Hans Otten

unread,
Jun 28, 2022, 3:21:31 AM6/28/22
to PAL 6502 computer
The PAL-1 bus is already a bit loaded with all these extensions. Buffers between main board and expansions would be nice, but it seems at 1 MHz it works.

A 6522 or 6520 or 6820 VIA /PIA would be possible iof you find a nice location on the memory map and add the decoding for it.
Or a 6850/6551 for serial.
Then you can add anything you like there.
E.g. an ASCII keyboard has 6 (7) data lines and a strobe line, takes one VIA/PIA port. 

Matt Balmer

unread,
Jun 30, 2022, 4:06:23 AM6/30/22
to PAL 6502 computer
It sounds like the best thing to do is simply to design a terminal around the PAL-1 and integrate it via the serial port. The only downside is that might be very similar to designing a whole computer (essentially) on its own, since it would need to have a CPU to drive it. Thankfully, I might have an answer to that because of the work my Dad put into things when he was designing a robot in the mid 70s -- he designed and built a little green-screen ASCII terminal that he used to communicate with the robot's hardware and also to make use of its internal computer to run ISIS-II -- all so he could wrap his head around writing for the 8080, 8085, and eventually, the 8096 lines of CPUs and microcontrollers from Intel. 

I *have* since obtained some other chips which might be good candidates to help solve the problem -- an SMC CG5004 character generator that's mentioned in the original TVT-6 that Don Lancaster did, an MM5740AAE keyboard encoder (as found on the Apple I ASCII boards), and a Signetics 2513 CRT controller. 

All three of these chips were rescued from some aging conductive foam and had to be cleaned, and because the foam damaged the pins on some of them, they will be put into new housings and soldered down to hopefully make them viable. 

The CG5004 is the chip I'm the most concerned about, as it's a ceramic-and-gold package which did not fare too well in the foam and lost the ends of several pins in the process of getting all the rotten foam off of it. These things looked to be nearly unobtainium when I first started digging into the TVT-6, but if it functions, I might have something. 

I also lucked into the datasheet for it, too -- so scanning that and uploading it will be another part of my task.

Hans Otten

unread,
Jun 30, 2022, 5:35:43 AM6/30/22
to PAL 6502 computer

Nice project ideas.. I did something similar in 1979: 32x32 characters  BW uppercase video and ascii keyboard, TTL IC''s and a 2513 as character generator (it is not a CRT controlelr, more a ROM) ., Ay-5-1013 UAR/T. 9600 baud to the KIM-1.
Used it several years until I got a DEC VT100 real terminal, connected to an ACIA 6850 on the KIM-1 (still an extension I would advise to Liu!)

Picture here: video card

Rare IC's. The 2513 is quite popular in the Apple 1 replica world.  

Nowadays I grab a Raspberry Pi or Pico or a ESP-32 with excellent video terminal packages available. 

Neil Andretti

unread,
Jun 30, 2022, 10:47:52 AM6/30/22
to PAL 6502 computer
 Hans wrote:
Nowadays I grab a Raspberry Pi or Pico or a ESP-32 with excellent video terminal packages available. 



I've posted my solution here, and yes the Rpi is a million times more powerful than the PAL-1, but it's cheap and does its job ;) 
Reply all
Reply to author
Forward
0 new messages