8-bit Guy is designing a piece of hardware

This sounds like a fun machine to play with. I’m not really a gamer, so I have no interest in that aspect of it at all (and it really seems that’s David Murray’s main interest here), but it would be fun to go back in time and have a working machine like this. I ended up giving away or selling all of the 8-bit stuff I had, and wish I hadn’t (VIC-20, C64, C128).

For a non-gaming 6502 based build, I think I might consider what’s needed to run Fuzix. I think the RAM banking would need to be more regular and more extensive, and the ROMs would perhaps need to get out of the way after boot. That said, it seems the 6502 isn’t a very natural platform for Fuzix. And that said, I’ve just posted a new thread to discuss Fuzix.

1 Like

It looks like a nice enough system, but the aversion to modern logic is going to cause them problems in the end. A fairly cheap, simple CPLD could handle the 65816’s address/data multiplexing and also control the CPU clock, slowing it for access to slow devices like the sound chips.

The video system also seems a bit less than optimal. I’ve been developing an FPGA based video card for the 6502 (it’s hanging out the expansion slot of an Acorn Electron at the moment) and yes, the register based access David describes is slow. Not awful, if it’s designed right, but still slower than could be the case.

My solution is twofold; one of the Electron’s 16K sideways RAM banks is used as a ‘window’ into video memory, so that just by specifying the start address in some control registers the CPU can write up to 16K at full speed. This does require a wider address bus into the video FPGA, but still only 14 bits.

The other is hardware acceleration via a control port; the FPGA will accept commands to do things like scrolling, blitting, line drawing, etc. This does really complicate the FPGA programming (the video RAM controller in particular, I found) but it enables nice effects without worrying too much about how fast the CPU can twiddle bits in video memory. I suspect they’ll have to have something like this in the X16, even it it wan’t mentioned.

His video alludes to this - and that’s what one incarnation started as - and is continuing as - and that’s the Foenix C256 system, https://c256foenix.com/ but it’s not what he wanted - so what he has and wants uses traditional TTL logic and through hole technology.

But he doesn’t rule it out for future versions of the board.

-Gordon

I’m clear on his position, I just think it is counter-productive and, honestly, can’t see any logic (bada-boom!) in taking this approach. Using programmable logic isn’t necessarily about building something like the Foenix, which is really just a board full of FPGAs.

Commodore made extensive use of programmable logic in their designs, using a CPLD for glue logic is no different from that. They, and every other manufacturer, dumped 70s-style arrays of 74-series logic as soon as they could. And there are CPLDs being manufactured today in both DIP and PLCC packages, so socketing the chip to be hobbyist friendly isn’t a problem either.

It would be devishly amusing, and quite ironically historical for an 8-bit machine, if the 8-bit guys ships his board for $300 runinng at 2MHz only for someone to build a 14MHz, $200 clone by compacting the glue logic into a couple of CPLDs…

1 Like

I recently built both a 6502 and 65816 systems using a GAL (or 2 in the 816 board). BoM cost is about $50. They run at 16Mhz. No direct on-board video though.

The Neon816 project is probably going to cost about $200 from what I gather though but has on-board video and sound, etc. and uses an FPGA for all the glue.

-Gordon

I’ve been thinking about the 8-bit guy’s hardware. Like most of us, he basically wants what he had as a kid (that darn nostalgia factor there) but with upgraded hardware since that would make things easier/nicer.

But I would argue that emulation is a much better option. For example: I have a $35 Raspberry PI 3B+, SD card and a $5 RetroPi/SDLTRS image from eBay. Add an existing modern monitor and keyboard and I have a little device that emulates a TRS-80 Model 1, 3, or 4/4P - complete with dozens of diskette images. it’s cheap. It’s gives me almost all the good stuff from that era of computing and none of the bad stuff.

Remember that even our modern computers are actually running emulators that make our hardware look like a PDP 11 (https://queue.acm.org/detail.cfm?id=3212479) - which allowed the Spectre and Meltdown vulnerabilities to exist.

I can understand why someone wants to run old hardware. It’s sort of like the guy with the Model A Ford who drives it around in the summer for fun. Keeping that old hardware running is a nice challenge - if you are a mechanic.

But if you are looking for the FEEL of the old computing days, why go through the hassle of creating new hardware that, effectively, works like old hardware? Especially when you can take new hardware, run an emulator, and get the same thing.

Now, that said, when 8-bit Guy’s computer is available for sale to non-developers, I’ll probably pick one up - just because it looks cool. 8)

Edit: I feel David Murray (8-bit Guy) and his collaborators are threading a needle here - not only do they want to build something which suits their own preferences, but they want to produce and sell in quantity to make a new platform. And they are doing that, initially, with reference to the C64, which is a very complex and exacting platform, with vocal elements in the community accustomed to very exact recreation of some remarkably obscure side-effects. You can’t please all the people all the time!

1 Like

There’s an interesting compromise related to this point, playing out in the land of Acorn machines. There are a few projects which extend the original hardware, some using FPGA and some using Raspberry Pi, which therefore keep the original case, keyboard and internals. So I might find myself typing at the original keyboard, and getting sound from the original speaker (not great) and even video overy UHF to a monochrome telly (not good for 80 column text.) I use JSBeeb quite a lot, an in-browser emulator, which is very convenient and very accurate, with pixel-perfect graphics, but it doesn’t have the keyboard feel of the Beeb.

So, there’s the software model, and the behaviour of the chipset, and the graphics or text output, which can be emulated, and then there’s the sound and tactile feel and the look of the original keyboard and the off-white plastic case, which isn’t there in emulation.

1 Like

I see that Michael Steil (aka pagetable) is now part of the Commander X16 project, and has posted an overview of what it is and why:
Commander X16: Philosophy and Specification

The fact that the X16 breaks compatibility with the C64 is what I find particular interesting. Most retro projects try to recreate a classic computer. Users will start their favorite two games and then get bored. The X16 is a new system, with new tricks to discover – but familiar to people who know the C64.

The X16 is not an FPGA-based solution, but uses real, socketed 65C02 and 6526 chips for the same hackability as a retro computer. The video chip is a new design and comes as an FPGA.

Its not FPGA based but does have a FPGA based graphics subsystem. I like the display specs, but I am on the fence as its not a component that can be sourced or made from 1980’s designs.

The display specs are very advanced for an 8-bit machine, even an 8MHz machine.

Using an opaque black chip that says “FPGA/w Video Stuff loaded on to it” vs a black chip with some random numbers on it is pretty moot from a system design perspective.

The primary motivations for these projects is not simply to have “better graphics”, but because the 80’s chips and hardware are more and more difficult to source.

Add in the connectivity to modern displays, where the '80s stuff falls flat, means that if you want any “cheap” adoption, “something must be done”. Even if someone built an FPGA to mimic an 80’s chip that Just So Happens to have a VGA interface violates the “made from 1980’s desgins” tenent.

So, may as well toss the baby out with the pond water and do a modern design for modern equipment that at least provides an 80’s style development aspect (memory mapped, VBLANK and HBLANK), and some blocky sprite capability.

Mind, my preference is for an updated IIGS, a bigger chip, more speed, more RAM, rather than hamstring a slow processor to small memory spaces. Not even for just games, but just for everything else that sucks computing dry today.

1 Like

I’ve to admit, I am a bit sceptic about the project in general for its emphasis on the C64 heritage. Don’t get me wrong, I had (and still have) a C64 of my own and learned much from this system. However, the C64 was an influential users’ machine for its huge discrepancy in system software and hardware capabilities, which forced users to explore the machine. Making the C64, despite its ROMs, the last of the bare metal machines, or, rather, rendering the ROM routines extensions to the bare metal. This just worked out at a rather specific state of specs and technology. I’m not so sure, if this may still work as well, if you step up the specs or the software. It may just become yet another boring system. (E.g., compare the rather moderate success of the C128 in C128 mode, which was by any means a much better system.) As you begin losing simplicity, there are much better options as well. E.g., the graphics aren’t that great or user friendly, fandom besides, there are systems with better color palettes, the Moog synthesizer like SID is nice, but there’s FM synthesis as well, personally, I liked the PET font, but never liked the fat C64 font that much, which was an inevitable consequence of adjustments for RF video output. All these features are engaging, while there’s still simplicity and while strict constraints on the hardware communicate to the user. If you start adding complexity and abstraction, none of this does make sense anymore. – I think, the scepticism towards using any FPGA emulation may be related to this, because any constraints automatically become somewhat artificial, while on “real hardware” interfaces are more like fate, it is what is.

There’s a tension, I think, between appealing to nostalgia and making an excellent machine. And there’s a tension between the different levels of purist: whether a machine should use only mid-80s parts, whether it’s OK to use microcontrollers or CPLDs or FPGAs. There can’t be any reconciliation between purists, because that’s what it is to be a purist. And since you can’t please everyone, a project has to be able to proceed amid a crowd of displeased would-be customers.

There are a few measures, after the fact: did the people in the project have fun? Did they feel it was worth it? Did anyone lose money? Did any friendships or marriages break up? Did the project bring more joy to the world?

2 Likes

I am still on the fence… but my take is that I would like to build one of the systems… I am not a prurist, but I would like a retro system built on the ethos of retro. By that I mean ‘Built with todays components that fulfill the same design goals as the original’ The system should be able to teach how computers and interfaces work and layed out in the classic BUS type topology.

The Harlequin ZX 128 to me is a good design as its a complete replacement - with compatibility and no special components. We all have to remember that back in the day we bought computers based on how much software was available for it, and I think this is true today. I remember the day I got my ZX Spectrum with only the Horizons cassette… I was very disappointed until I started getting magasines and trading with friends.

That’s my ideal, but we are all different… that is what makes this world wonderful.

3 Likes

Thanks @RichardP - I think saying what we like and why we like it is a good way to keep an interesting conversation going.

I too like to see visibility of components and busses and mechanisms. As it happens, I like to see computers computing, so text-only output is fine for many of my purposes. The RC2014 project and its variants appeals to me for these reasons.

As it happens, I can solder, in a technical sense, but it’s best if I don’t, so that also influences what kind of project would appeal to me as a buyer.

And as it happens, I like the process of designing CPUs, and I like to see results quickly, so there are a number of FPGA and emulation projects which appeal to me to, for different reasons.

2 Likes

After some playing around with the inner interpreter possibilities for a direct threaded 65C02 Forth, and after they did a BIG clean up of the zero page leaving basically 128 bytes of zero page space available (unless you want to use the GEOS Kernel or the graphics keywords that make use of the GEOS Kernel), I’m tilting more toward Go than toward No. “INX: INX: JMP ($0000,X)” as a self-modifying NEXT residing in the zero page is pretty appealing.

But I have no particular interest in getting the kit-buildable “Stage 1” … it’ll be the priciest of the three, and for my interests having the smaller cost reduced surface mount parts, and possibly a CPLD or two replacing a lot of the glue logic, is no loss for a substantial cost saving.

Other than the C64, though, my other 8bit system that I remember the most fondly is the Geneva PX8 that I took with me to the Eastern Caribbean in the mid-1980’s as a Peace Corps volunteer teacher. I was excited to get a C128 when I got back to the States … but very shortly after getting my C128D, I fried its processor by plugging the Datasette power tap for my User Port printer interface upside down, and I don’t know what happened to the Geneva.

What would be really cool would be to adapt one of the modern CP/M boards, either the RC2014 or the ez80 based MakerLisp, into an expansion board card for the CX16 … especially the MakerLisp, as it would finally, and only 40-50 years too late, correct the main flaw in the CP/M side of the C128D design, that it was running at 2MHz when even with wait states it would have been a much more capable Wordstar/Multiplan system at 4MHz or 8MHz.

I’d want that expressly to see what someone could do within the deisgnspace allowed by a version of the arcitecture unfettered by ‘lets hamstring it so it will die on the alter of mac.’

Perhaps someone who knows and loves the IIGS could post a thread explaining the virtues of the machine? (Perhaps, even better, they could also comment on the Apple III, which might be viewed as the other approach to making a bigger better Apple II.)

(Edit: @whartung took up the challenge - I’ve split his post into a new thread, as it’s no longer about the original subject.)

1 Like

A post was split to a new topic: Thoughts on Apple’s IIGS