Hacker News new | past | comments | ask | show | jobs | submit login

I think it is just there for generating the video signal. This sort of thing is common. The earlier (solder-based) Briel Replica I Apple I clone used a Propeller chip for that. But it still had a 6502 for the actual computing, and I imagine this does too.

I built a 6502 "laptop" (a 6502 SBC and LCD stuffed in a toy laptop case). I used a Propeller chip to generate a video signal, as well as to load a program into RAM and generate bus control signals. The 6502 was directly connected to all of the RAM address and data lines, but I could also interpose different values on the database.

Another Propeller enthusiast made a pretty good write-up here: http://dangerousprototypes.com/blog/2012/02/22/prop-6502-pro...

A lot of modern hobby computer projects use a FPGA, micro-controller, or dedicated modern CPU to bit-bang the video signal.

How did the original 8-bit computers do it? Did they have access to chips that are no longer produced?

The Apple I and Apple II both used discrete logic to generate a composite video output. The Apple I used a couple of unusual Signetics parts (2504, 2513, 2519) and a character generator ROM to implement a text-only "video terminal" with a UART-like interface; the Apple II used a more complex system built around the system's DRAM refresh which allowed for graphical output.

None of this required any truly unique parts (although the Signetics parts used in the Apple I are hard to find nowadays), but most hobbyists prefer something more modern than composite video. :)

It's also a problem using discrete components for noise and EMC compliance, you need a shielding because you have a lot more higher frequency traces compared to otherwise. It's still possible to do without too much trouble but compared to doing most of it in a single devices there's just very little point in spending that much work most of the time.

EMC compliance isn't really a concern until you're building a consumer product. A breadboard kit… nah. :)

Noise is a real issue -- but the main concern there is the CPU. Video generation isn't unusually noisy.

“EMC compliance isn’t really a concern”...

Unless you’re this guy


But seriously, you’re totally right.

http://www.swtpc.com/mholley/RadioElectronics/TV_Typewriter.... was one of my favorites (the TV Typewriter)

Seriously though, as amusing as they are, and as much programming as I did on a 16 line by 64 character "terminal" screen, I really could never go back to that. For grins I set up an xterm that way just to experience it and yeah, it still hurts. A lot. Even the 80 character by 25 line experience (although tolerable for many things) feels so very cramped these days.

Enlightenment may come from looking at an IBM-PC MDA (Monochrome Display Adapter) board:


...or a VT100 main-board:


80% of these boards are "the graphics part." Dozens of chips! This is what the sibling commenters mean when they're saying that the video signal is "discrete logic" (as opposed to integrated logic.)

It'd be a bit of an ask to have a hobbyist build one of those themselves (adding an 800% complexity increase to what is otherwise a very approachable hobby project.)

Well, and an exact replica would output composite video, which wouldn't work with anything most people already have.

Most used the 6845 CRTC or compatible but the Apple 1 used discrete logic & shift registers instead of CRTC & RAM from my understanding

I don't think the particular shift registers etc are still available but it is still possible to do it with discrete logic these days

I guess different projects have different focus and some probably don't care too much how they get video as long as it works. I've built discrete and CPLD based video circuits for my own 6502 project which is fun but took months to get working perfectly

Exactly. :)

Yes, they had.

Yep, I use ATmega just as video and keyboard controllers. All real work is done by 6502 - it communicates with memory and keyboard and video controllers. Just as in the original Apple I

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact