8-bit Guy is designing a piece of hardware

I read that entirely differently. At the time that the question was posted, it seemed to me they were considering abandoning the 24bit address space, and were asking whether people were interested in the 65816 in the context of a 16bit address space. After the memory map came out, it seems more like they had decided to abandon the 24bit address space, and were having internal arguments over whether that was the only point of the 65816.

There would be no reason to post that poll if every member of the design team was committed to the 6502 as the shipping processor. If that was it, they would just go with the ā€œfor technical reasonsā€ and announced that it was reverting to the 6502, without any ā€œif it works we may include the 65816ā€.

With the poll coming in with a majority preferring the 65816, I canā€™t see how that wouldnā€™t strengthen the hands of those who were pushing for it enough to get the poll posted. And since then, there is nothing they have said that is inconsistent with doing the first prototype with a 6502 and then after it is up and working, putting a 65816 in and deciding at that time whether to use it, if it also works.

Thereā€™s a relevant thread on 6502.org:

1 Like

Thanks, that is very helpful. It does seem that the biggest plausible source of conflict that would require a ā€œbuild it and seeā€ approach is bus contention with the AY3ā€™s, which are either limited to 2MHz or 4.5MHz (depending on which design generation is being cloned) ā€¦ so would qualify as a ā€œslow deviceā€ which might cause data contention. From the mock up of the board they have posted, they are using a lot of glue logic for the kit-buildable version, and so look like they are using something like the 74AC163 circuit at 6502.org ā€¢ View topic - RDY vs CLOCK STRETCHING. Includes 2 very simple circuits. to stretch the clock, as there is a 6 parallel pins for the processor clock and 4 parallel pins for the AY3, which would go with various degrees of clock stretching from the master clock (which has to be fairly fast for the VGA), and then a further 2x or 4x slowdown for the AY3 stretching the processor clock ā€¦ depending on how itā€™s jumpered.

They have to use the clock stretching ā€¦ if it was just slowing down for ROM reads, they could pull RDY low, but they also need to slow down to write to the AY3s.

Itā€™s certainly possible to build a 6502 system and have some teething problems - and the 816 does introduce just a tiny bit more difficulty, especially if RDY is in play - but in my view thatā€™s just par for the course, and itā€™s why one should expect to build a prototype or two before production. But itā€™s reasonable to expect that success is achievable, with a bit of perseverance.

It might be that with a team of implementers and a large crowd of spectators the process will look like it has more dramatic ups and downs than it would if it were one person putting in late nights, and sometimes revisiting decisions made earlier.

1 Like

Yes the crowd of onlookers makes for a lot more storms in teacups ā€¦ especially when some onlookers come in with the idea that it is somehow being designed as a kind of mob process by following the whims of whomever happens to be commenting out of the 9,000 or so followers.

But since it looks like they are going to take it to Kickstarter, better to get that hammered out now than to stumble into it after the Kickstarter begins.

Edit: Note that one part of a crowd of onlookers is people who just showed up ask people who showed up 10 minutes earlier what happened an hour ago. That included people who saw the ā€œ65c02ā€ on the preliminary rendering of the first prototype board and were confidently telling people that the 65816 was abandoned and the project is now committed to a 6502 ā€¦ despite what team members have said to the contrary.

So David just put up a post reaffirming that they are going to make a prototype 6502 board, and when that is working, then try to see if they can get a 65816 working on it. It will be within the 64K address space but, as he said, you still get all the other benefits and itā€™s just $1 more.

1 Like

Yes, Iā€™d guarantee that no retro computer project will please everyone. And itā€™s the people who are almost - but not quite - getting what they want who are likely to speak up.

1 Like

Video update!

So, a simple memory map and a simple single full-speed bus. A 6502, at least initially, and if it gets an 816 it keeps the 16-bit address space. It has a nearly 40k contiguous RAM area, a small I/O area, an 8k window into a very large paged RAM, and two 8k windows into paged ROM areas: one for ā€˜basicā€™ and one for ā€˜kernalā€™. The video (on FPGA) seems pretty capable, with lots of local RAM, but accessed through an 8 byte port - so RMW would be relatively slow. Thereā€™s still some doubt about the choice of sound chip - maybe GI, maybe Yamaha.

The single bus (at constant speed) is proving a limitation: would like to run the CPU at 8MHz but the peripherals donā€™t run at that speed. Of course this is a problem thatā€™s been solved several times before, but with a little added complexity.

The software sounds promising: not just a mildly enhanced Basic but also an assembly-level IDE.

2 Likes

For me to leave home running to buy me a computer like these, a software genius should have developed an OOP compiler for them. Similar to Visual C ++ 1.0 but for 8 bits, in which you could read and review the machine code product of the commands in C ++.

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.