Version 1 Postmortem & Proposal for future

Chat about anything CX16 related that doesn't fit elsewhere
arachnivore
Posts: 5
Joined: Sun Jan 14, 2024 10:44 pm

Version 1 Postmortem & Proposal for future

Post by arachnivore »

Hello!

I reviewed the original "Building my dream computer - Part I" video and tried to gather the original requirements into a somewhat cohesive list. I also tried to prioritize requirements where possible.
  1. Recreate the retro computing experience
    Primarily focus on edutainment.
    • Emphasize
      1. Immediacy (plug & play)
      2. Documentation (w/ examples)
      3. Simplicity (BASIC, low abstraction)
      4. Close-to-Hardware (poke & push registers, assembly)
      5. Restrictions (limited RAM and CPU speed)
    • Avoid
      1. Making people source old/unreliable/expensive tech
      2. Anything that makes the experience tedious
      3. Non-Standard interfaces
      4. Productivity Apps
  2. Harbor a Community
    • Affordable (<$100)
    • Available ("off-the-shelf" parts)
    • Usable (HDMI, USB?)
    • Open Source? (Not stated in video, but seems obvious and important for building a community)
Some of the requirements stated in that video don't easily fit under those two main goals:
  1. No FPGAs or MCUs (no reason given)
  2. Must have a real 6502 CPU (no reason given & contradicts part 1:55 of the video)
  3. Must run Commodore BASIC (no reason given & contradicts part 1:55 of the video)
  4. Raspberry Pi is out (because it can run linux?)
I think pretty much all of these requirements should be questioned. I can see how the Raspberry Pi doesn't fit the "restrictive" requirement since they come with gigabytes of RAM, but otherwise, I'm not sure I understand the rejection. I will address them all later.

I'm sure some of those requirements have shifted over time, and it looks like the project has managed to garner a bit of a community. Still, one of the most glaring problems with the current version is that it ended up with a $350 price tag, which puts it well north of a MiSTER system which can essentially emulate the X16 along with many other systems.

Obviously, the no FPGA rule was eventually dropped, but I don't think the potential of the FPGA was fully realized. For example, as far as I understand, the VERA board is capable of implementing a sound chip making the Yamaha chip a bit redundant.

The thing about FPGAs is: They shouldn’t require any deeper understanding, however; they do allow for a deeper understanding of the system. I could put an FPGA with a config ROM and voltage regulator on a PCB with 40 through-hole pins and cover the whole thing with black plastic and you wouldn't even know it's not an authentic 6502 or whatever. However, I could also expose the config ROM so that onece the user learns BASIC then assembly, they can move on to HDL if they want to. It lets them go further down the rabbit hole, but it doesn't force them to.

Here are some nubers:
A 6502 core takes up <700 logic elements running over 10 MHz (source)
A 32-bit RISC-V core (a more relevant architecture to learn) can use about 900 logic elements running several hundred MHz (source)
Some crazy people have even managed to squeeze a RISC-V CPU down to <200 Logic elements.

The 6502 is actually pretty hard to implement effeiciently in an FPGA. Other 8-bit designs from Lattice, Xilinx, and Intel use in the 200 Logic element range and run in the 50+ MHz range even on low end hardware.

I haven't found many good resources for the size of VIC-II implementations, but the VIC-II uses about twice the number of transistors, so ~1400 logic elements is a conservative estimate. Sound is generated in the tens of kHz, so a decent sound chip takes up practically no space on an FPGA.

All-in-all, I think someone could squeeze an entire C64 into a single $8 Lattice Ice-40 UP5K. If we wanted more room, we could jump up to a $12 LFE5U-12F with 12K logic elements, but it ironically doesn't have as much RAM (go figure). With that kind of system you not only introduce the resource constraints you're going after, but also the low cost.

I think, howerver, there's an even better move.
A company named Cologne Chip just realeased a new FPGA called GateMate. The cheapest chip goes for $16 in fairly low quatities and has the equivalent of 40k logic elements. To sweeten the deal, the company is all in on open-source tool-chains. If this was paired with a decent SoC, like the Milk-V duo, it would probably be possible to make a portable MiSTER-like system.

According to their website, there should be larger versions of the GateMate available very soon including a 160k LE variant which would make replacing the MiSTER easier (it has a 110k LE FPGA with fancy DSP units), but I think the MiSTER team could stand to optimize their cores. The last I checked, the system that takes up the most of MiSTER's logic is the NES (a little over 80% of the logic) because that core loads every possible cartridge mapper chip or something.

If we could get the MiSTER community's attention, that would be amazing.

Anyway, a single FPGA replacing all that logic is 100% the way to go. I think a RISC-V CPU would make more sense than a 6502. I also think there might be better languages than BASIC to start out with, but I haven't really done a survey.
kelli217
Posts: 531
Joined: Sun Jul 05, 2020 11:27 pm

Re: Version 1 Postmortem & Proposal for future

Post by kelli217 »

And you are...?
User avatar
ahenry3068
Posts: 1136
Joined: Tue Apr 04, 2023 9:57 pm

Re: Version 1 Postmortem & Proposal for future

Post by ahenry3068 »

kelli217 wrote: Thu Feb 08, 2024 1:13 am And you are...?
He just joined on 15 January whoever he is. Seems like a bit of technical knowledge but he's done no research at all into where the community currently stands....
mortarm
Posts: 299
Joined: Tue May 16, 2023 6:21 pm

Re: Version 1 Postmortem & Proposal for future

Post by mortarm »

Yet another lost soul who just doesn't get it. :roll:
arachnivore
Posts: 5
Joined: Sun Jan 14, 2024 10:44 pm

Re: Version 1 Postmortem & Proposal for future

Post by arachnivore »

he's done no research at all into where the community currently stands.
Care to enlighten me? It's not exactly easy to search "where the community stands".
Yet another lost soul who just doesn't get it. :roll:
So... building a community isn't high on the priority list anymore, eh?

That's what I'm getting. :roll:
DragWx
Posts: 342
Joined: Tue Mar 07, 2023 9:07 pm

Re: Version 1 Postmortem & Proposal for future

Post by DragWx »

If I'm not mistaken, Gen 3 of the X16 is already planned to be the "everything on one FPGA" version, so there's the full computer Gen 1, the cost-reduced game console Gen 2, and then the X16 "mini" for Gen 3.

As for me, I'm happy with how Gen 1 already is, and was happy to pay the price for the full board with all of its components, and am looking forward to playing around with it. It's exactly the thing I wanted, in other words. If it were literally just a Raspberry Pi, or everything on a single FPGA, I wouldn't have been nearly as interested in it.
User avatar
ahenry3068
Posts: 1136
Joined: Tue Apr 04, 2023 9:57 pm

Re: Version 1 Postmortem & Proposal for future

Post by ahenry3068 »

arachnivore wrote: Thu Feb 08, 2024 6:45 am
he's done no research at all into where the community currently stands.
Care to enlighten me? It's not exactly easy to search "where the community stands".
Yet another lost soul who just doesn't get it. :roll:
So... building a community isn't high on the priority list anymore, eh?

That's what I'm getting. :roll:
If you had spent much time on here and Discord you would know that the first two runs of "Full Price" boards sold out in pretty short order and there is currently a waiting list for pre-purchased boards. There's an active core community of at least 25 or 30 developers. And at least 1500 people interested enough to pay around $500 for the through hole board, Hopefully many of them will become developers/content creators. Its a small community so far but an active and enthusiastic one. I think T8BG's project is going OK so far.

I think your putting the word "Postmortem" in your post title has kind of rubbed a few people here the wrong way.
Last edited by ahenry3068 on Thu Feb 08, 2024 11:37 am, edited 1 time in total.
BruceRMcF
Posts: 224
Joined: Sat Jan 07, 2023 10:33 pm

Re: Version 1 Postmortem & Proposal for future

Post by BruceRMcF »

The thing about listening to the Part 1 video is to actually listen to it, rather than listening to it in the context of claims floating around on youtube and elsewhere about what it says.

When David explains how the project got started, and quotes the original blog post that has the points that you describe as "requirements", this is in the context of explaining what got the conversion started.

However, at that point in time, "no FPGA" is quite plainly not a "project requirement", because later in that video he describes the Gameduino V1.0 as the proposed heart of the video generator, and the Gameduino is implemented with an FPGA.

So (1) the blog post led to (2) ongoing conversations which led to (3) launching the project, and a lot of people seem to latch onto the quote from the blog post and ignore the obvious fact that the discussions over the months in between had worked out that the only practical way for a small project to actually implement a classical 8bit sprite and tile video support chip is using an FPGA, because at the time that the first "Dream Computer" video was released, the system described had an FPGA-based video support chip.

Realistically, given the lack of a suitable in-production line-buffer sprite and tile video chip, the only two options are implementing a hardware video chip in an FPGA solution or emulating a video chip using a 32bit or higher micro-controller, as the Agon lite does.

Also, beyond not latching on too tightly to the first expression of the idea that had already been partly superseded after months of discussion, don't latch too tightly to the first Dream Computer video. The intention to use the WDC 65816 development board turned out to not be viable after investigating that development board more closely. The idea of using the Gameduino came under pressure due to the lack of a true bitmap, and then fell to the fact that it was implemented on an FPGA that was coming to EOL. After moving toward a bespoke board, the board design started to develop very serious design creep. All of that was addressed by slashing back on the design creep, putting out an audition for a new FPGA-based video generator chip, and establishing a more classical, VIC-20 inspired 64KB memory map. To catch up on all of that, you need to watch Dream Computer 2 and 3.

And then no battle plan survives contact with the enemy ... one version of the prototype stalled due to not correctly integrating the various chips originally designed for different CPU buses -- 6502, 6800, Z80/8088 -- another version stalled as the hobbyist-inspired approach to reading a PS/2 port was not working well at 8MHz, and the design went back to the original approach in the 1980's when IBM stepped up from the XT keyboard to the AT keyboard, using an 8bit MCU to read the keyboard port.

If you catch up all the way to the present, you will see that the present approach is as already described further up in this thread:

(1) The Dev board version, establishing the hardware reference platform, using all DIP chips on the motherboard and a daughter-board with the +3.3v voltage domain SMB parts needed for the video generator FPGA.

(2) A cost reduced version compatible with the hardware reference platform, with ASIC CPU, VIA, 8bit MCU, etc., but SMB parts wherever practicable, directly soldered 512KB HighRAM rather than 512KB-2MB populating one to four sockets, etc.

(3) An FPGA focused design that boils the design down to three or four main chips. That is the one that is going to come closest to the $50 in 2018 dollars (which is $60 in 2023 CPI, probably $75 given lingering logistical impacts on chip prices).

One important thing to grasp is that different people want different things. Some people want those ASIC 8bit chips. They want them in the DIP packaging if feasible. And they are willing to pay the required cost. Remember that when I bought my C64, 1541 and monochrome monitor system in 1983 for $1,000, that is $3,100 in 2023 dollars, with the computer itself at $600 representing over half of that. In early 1985, the price of the C64 had dropped to $150, which is $420 in 2023 dollars. So an 8bit system that is a substantial upgrade to the C64 in CPU speed, RAM capacity, and mass storage size and speed of access, and costs $123 in 1985 dollars may seem quite reasonable.

Other people who want the ASIC 8bit chips are not as wedded to having the DIP packaging and/or can't budget at that level for the system, and if the cost reduced system is successfully developed and shipped, that version will target us.

And then there are the kind of people who own MISTer systems, who don't care whether there is a single ASIC 8bit chip on their system, and the Gen 3 system, if developed and shipped, would be the best choice for those people.
arachnivore
Posts: 5
Joined: Sun Jan 14, 2024 10:44 pm

Re: Version 1 Postmortem & Proposal for future

Post by arachnivore »

DragWx wrote: Thu Feb 08, 2024 8:02 am If I'm not mistaken, Gen 3 of the X16 is already planned to be the "everything on one FPGA" version, so there's the full computer Gen 1, the cost-reduced game console Gen 2, and then the X16 "mini" for Gen 3.
Great. Thanks for the info. I still think my suggestion of using a GateMate FPGA with an open tool-chain and a Milk-V duo SoC is a good way to go. It's a potent combo that would alow for a small, inexpensive, board that could not only recreate the retro experience, but could emulate many other systems (just like the MiSTER project) and do so in a potentially portable form-factor. It could also be put to many other uses.
DragWx wrote: Thu Feb 08, 2024 8:02 am As for me, I'm happy with how Gen 1 already is.
Cool!
DragWx wrote: Thu Feb 08, 2024 8:02 am If it were literally just a Raspberry Pi, or everything on a single FPGA, I wouldn't have been nearly as interested in it.
I'd be interested to hear you articulate why. Honestly! It seems like David gathered a bunch of requirements and asked people what they miss about retro computing then the community threw that all out the window and decided what's really important is that you can open the computer and point at different black rectangles and say, "That's the 6502 CPU! That's the video chip! That's the RAM! There's the audio chip!".

This project seems like a textbook case of scope creep.

Even if that is so important to you, the Agon project already did that at a fraction of the cost!
ahenry3068 wrote:If you had spent much time on here and Discord ...
I haven't. I don't like discord. I think it's a terrible way to organize communication. I did try to post similar thoughts on the Facebook page years ago, but was met with the same hostility and defensiveness. It's a real turn-off. Something that can easily kill such a small community.
ahenry3068 wrote:...you would know that the first two runs of "Full Price" boards sold out in pretty short order and there is currently a waiting list for pre-purchased boards. There's an active core community of at least 25 or 30 developers. And at least 1500 people interested enough to pay around $500 for the through hole board...
None of this is a response to the text you quoted. It's impressive. The project is doing better than I would have guessed. I still don't think it's gathered enough critical mass to keep it alive without a lot of effort, but we'll see.
ahenry3068 wrote: I think your putting the word "Postmortem" in your post title has kind of rubbed a few people here the wrong way.
Perhapse you're right. I was using it in the game development sense:
Performing postmortems isn’t just unique to game development. Anyone can do a detailed postmortem on nearly any subject: political campaigns, work strategies, and product launches.

Postmortem game analyses are reliable ways for everyone to take a step back after the release day’s dust has settled. It gives both gamers and game developers the chance to breathe and examine what went wrong and what went right.
It's just a look back at what went right and what went wrong and why. It doesn't imply failure.
BruceRMcF wrote:The thing about listening to the Part 1 video is to actually listen to it, rather than listening to it in the context of claims floating around on youtube and elsewhere about what it says.
I don't know what you're talking about. I did listen to the video. I didn't gather requirements from anywhere else.
I also watched the "Building my dream computer Part II" video. I don't know of a Part 3 video.
BruceRMcF wrote:When David explains how the project got started, and quotes the original blog post that has the points that you describe as "requirements", this is in the context of explaining what got the conversion started.

However, at that point in time, "no FPGA" is quite plainly not a "project requirement", because later in that video he describes the Gameduino V1.0 as the proposed heart of the video generator, and the Gameduino is implemented with an FPGA.

...the system described had an FPGA-based video support chip.
Yes, I'm aware of all of this. I still think the project was plagued by what I would call "FPGA-phobia" and specious logic for avoiding MCUs. I posted early on in the Facebook group that I thought an entire system could fit on an (at the time) $5 Lattice Ice40 UP5K FPGA with maybe ~$2 ESP32 for expanded I/O and WiFi/BT if desired, but that was shot down by a bunch of people who had never touched an FPGA yet swore such a system was impossible (and were quite rude and arrogant dispite their ignorance on the subject).

I have more to say, but I'll have to leave it at that for now.
DragWx
Posts: 342
Joined: Tue Mar 07, 2023 9:07 pm

Re: Version 1 Postmortem & Proposal for future

Post by DragWx »

arachnivore wrote: Thu Feb 08, 2024 1:14 pm
DragWx wrote: Thu Feb 08, 2024 8:02 am If it were literally just a Raspberry Pi, or everything on a single FPGA, I wouldn't have been nearly as interested in it.
I'd be interested to hear you articulate why. Honestly!
Sure! I have an NES homebrew background, so I'm familiar with 8-bit computer architecture already, including 6502 assembly. The X16 is an emerging avenue I can apply my hobbyist knowledge to, and that's appealing. Doubly so because I've said "man, I would've loved to have been a part of the C64 era" before, and this is a surrogate for that.

Next, I could play pretend with a Raspberry Pi and it'd probably be enjoyable, but it'd be just me doing it by myself for fun, and would be more like writing a program in C++ that I'm just running on a modern-ish computer, in a world already full of these same modern-ish computers.

Instead of being a facsimile, the X16 is a literal physical implementation of an 8-bit computer architecture, designed to have "fun" video and audio capabilities; The VERA is just "the custom video and sound chips", and the SMC is "the chip that makes the keyboard and mouse work", neither are capable of "being" the full X16 by themselves, and both have their classical equivalents. So, while this board contains these modern programmable parts, it's still in the same spirit as an old 8-bit computer from the 80s, and that's much more interesting to me.

Now for biases. I'm slightly off-put by Raspberry Pis because every time there's some kind of "We made a [weird object] run Doom!" story, it always turns out to be a "look at this weird thing I shoved a Raspberry Pi into!" disappointment. That's just not what I'm interested in when I'm looking for a fun retro thing.

I love FPGAs because they're the only viable way for a single person to make a custom chip, or for a custom chip or circuit to be mass-distributed and updated. I love the MiSTer project and I have a DE10 Nano because of it. Therefore, I don't want to come across as someone who's against the "everything in one FPGA" concept.

...but the physical implementation of the X16 is still more interesting to me. Once a board is shipped, the architecture is stuck that way from that point on. The X16 required a lot of planning and responsibility to get to that point, and an immense amount of commitment to manufacture and ship 1000+ boards (I don't have exact figures). That says a lot to me, and gives me confidence that this is the "real deal" and not a tiny blip that goes nowhere.

If the X16 skipped all of that and just stayed as an everything-on-one-FPGA solution, it would've been so much less interesting, and it would remove many of the puzzles and benefits of having a rigid architecture to develop against. "Hardware limitations" often makes people think of slow clockspeeds and limited memory, but "unable to completely redo the X16's circuitry from scratch to make this one thing work" counts as a limitation too.

Even if that is so important to you, the Agon project already did that at a fraction of the cost!
What the X16 offers is still closer to what I'm personally interested in; the price point isn't the issue for me.
Locked