Page 3 of 5

Re: Version 1 Postmortem & Proposal for future

Posted: Fri Feb 09, 2024 9:33 am
by Ser Olmy
Wavicle wrote: Fri Feb 09, 2024 2:32 amBe specific - what would you propose? I see the complaint about a boring PC and also the keyboard being quite expensive.
I thought I was being specific: I'd like the X16 to be a) sold as a complete unit, and b) looking more like a retro system than a PC. A wedge-shaped system would do nicely as long as it could accommodate expansion cards (like, say, the Apple II), and so would a pizza box-style unit with a detachable keyboard.
Wavicle wrote: Fri Feb 09, 2024 2:32 amUnless a few hundred thousand fans are ready to buy an X16, it will be difficult to get cheap and non-boring.
How much you're going to sell, depends on the size of your target audience and the quality of your product. I'll return to that topic below.
Wavicle wrote: Fri Feb 09, 2024 2:32 amYou can have this case 3D printed for the OtterX, but it isn't cheap:
And it looks like a hastily cobbled-together prototype. Not what I would call a "proper" case at all.
Wavicle wrote: Fri Feb 09, 2024 2:32 amIt doesn't feel as though an honest attempt to understand what was being said was made here. It doesn't matter that it is EOL because there is a drop in replacement.
Yes, it does matter. If you're going to choose a sound chip for its excellent merits, then sure, the fact that it is no longer made doesn't matter as long as an (emulating) replacement can be found.

But that's obviously not what happened here. The chip was chosen because of perceived availability, which turned out not to be the case at all. As for quality, the YM2151 was made for "budget pianos" (read: low-cost keyboards that sounded nothing like pianos) and was used in a number of arcade cabinets.
Wavicle wrote: Fri Feb 09, 2024 2:32 amThe VERA PSG has a lot of voices; it is missing envelopes and filters, but it can play 16 note polyphony without any weird tricks.
Any PSG with X channels can play X note polyphony.

The lack of volume envelopes means you have to write an interrupt handler if you want anything other than continuous bleeps while your program is running, and the lack of filters and ring modulation means you get your basic waveforms and that's it.

To get music that sounds half-decent, I guess you could combine the VERA channels with some YM2151 sounds using complex operator configurations and LFO modulation, and on top of that hammer the PCM channel with some percussion sounds. It's doable, but now your sound subroutine is both highly time-sensitive and ridiculously complex. It that what anyone wanted?
Wavicle wrote: Fri Feb 09, 2024 2:32 amThe FM-synthesized audio is very characteristic of high-end retro audio
It sounds like bargain-basement AdLib sound on the PC (because it literally is), which was such a letdown that I threw out the card almost immediately and got a second-hand SoundBlaster instead.
Wavicle wrote: Fri Feb 09, 2024 2:32 am and in my opinion adds to the feeling of "quality" of the product.
Really? The quality of the ultra-low-end sound of the 1980s? Why would we want to emulate that?
Wavicle wrote: Fri Feb 09, 2024 2:32 am
Ser Olmy wrote: Thu Feb 08, 2024 9:11 pmFM sound lacks all bass and cannot be made to emulate percussion.
Be precise - what about bass is it lacking? Bass is sometimes defined as 60-250Hz. Is the argument that the YM2151 cannot output in that range? I have spectrographs that would disagree.
Oh, come on. Now we're descending into sophistry.

You do have ears, right? YM2151 music sounds tinny and annoying, and this is a problem with Every. Single. Tune. Perhaps the YM2151 has a simple linear algorithm for volume, which doesn't take into account that the human ear is WAY more sensitive in the midrange. Perhaps this could have been worked around by dynamically adjusting the volume according to the frequency being played, and it's just that nobody ever did that. Regardless, I'd say that the results speak for themselves.

I was actually quite hyped about the YM2151, but after spending several weeks reading the specs and trying to make some interesting sounds, and then going on the Internet to look for sound fonts and listen to what others had made, I ended up pretty disillusioned.
Wavicle wrote: Fri Feb 09, 2024 2:32 amIs it that there are capabilities it has in the higher frequencies that do not reproduce in the lower frequencies? I would argue that is special pleading.
I'm simply listening and comparing with both simple PSGs and PCM sound. The YM2151 seems to have a very characteristic sound with a surprising lack of substance in the low frequency range. The sound that's supposed to be the "bass guitar" track is more or less drowned out.
Wavicle wrote: Fri Feb 09, 2024 2:32 amIt sounds somewhat like the complaint here is that the our 8-bit machine isn't better than a 16-bit machine. I don't think most of us hold that as a requirement.
This has nothing to do with the "bitness" of the system. Besides, neither the VERA nor the YM2151 qualifies as an "8 bit component," and why should they? The video circuitry in the MSX2 wasn't "8 bit" either, but the CPU was, and that's what counts for the programmer.

The fact that the systems that replaced the 8-bit micros were all using 16-bit processors had everything to do with speed and availability. Today, we can compensate for the speed issue by cranking up the clock, an option that just wasn't available in the 1980s and 1990s.

If we're not limited to running the CPU at 1 or 2 MHz, and we don't have to restrict ourselves to 64k of RAM or low-resolution graphics, why stick with limited PSGs? I don't see a reason why we should be limited to reproducing the mediocre sound of the 1980s when we're not reproducing the mediocre graphics of the same period.

As long as the sound subsystem is reasonably easy to access for the programmer, I'd say the "retro" and "edutainment" factor is preserved.
Wavicle wrote: Fri Feb 09, 2024 2:32 amHow would you propose proper sound be done? Audio samples in VRAM? VERA only has 128Kbytes of VRAM (slightly less, I know - details).
The VERA is short on resources that would be better used enhancing VERA FX. A separate sound chip would be my preferred chioce, with it's own sample memory. Write samples to it the same way you access video RAM on the VERA, and tell it to play them back at a given speed. With today's technology you could easily include features like fairly aggressive oversampling and stereo panning.
Wavicle wrote: Fri Feb 09, 2024 2:32 amA hardware modification that would make it incompatible with any X16 software using 2151 audio? How many are going to jump on this new hardware bandwagon? Software sells hardware. You need to get an ecosystem up and running to justify that.
How about this: You've seen the register map of the YM2151, right? It has a number of unused registers. Make a bit in one of them switch to an entirely alternate register set for the PCM subsystem, and you'd have YM2151 emulation and PCM sound in the same package that could be a drop-in replacement for the current chip. (A bit like what the Kawari does for the VIC-II on the C64, actually.)
Wavicle wrote: Fri Feb 09, 2024 2:32 am I think nostalgia is being undersold here. I've been watching people come up and experience the X16 for nearly 2 years now and people with a background on Commodore systems find the familiar feel of it charming - even though it is quirky and slow.
And now we get to the crux of the matter: Who is the target audience for the X16?

"Nostalgia" will attract a very limited number of people: It will mostly be men in their late 40s and above who experienced the home computer revolution and would like to relive the experience. If that's the market you're going for, fine; you're never going to sell in any significant volume and you're competing against more than a dozen other "modern retro" systems, and thus the software library for your system will always be limited.

If on the other hand you really want to go for the "edutainment" niche, you need to appeal to an audience that wasn't even alive in the early 1990s. And I don't think it's reasonable to show someone an expensive system with pixel graphics and sound that goes "beep boop" and expect them to be impressed.

You can't say "doesn't this look and sound amazing?" when the cheap device in their pocket both looks and sounds way better, and RAD tools and devkits for Android are readily available.
Wavicle wrote: Fri Feb 09, 2024 2:32 amMost PS/2 keyboards work fine. We've only recently been getting reports of some that don't. One does not *require* the PETSCII characters on the keyboard.
My post wasn't very clear on this point. Allow me to elaborate: There are two issues, one is the keyboard layout, and another is the PETSCII character set.

The first issue makes it a bit impractical to use an off-the-shelf keyboard that isn't using the US layout, and it's a simple fact that absolutely no-one outside the US are using that particular layout. Not a dealbreaker by any means, but a bit annoying nevertheless.

The second issue means you can't type non-US characters at all, as they simply don't exist in the character set. PETSCII is a bone-headed "standard" that basically sacrifices half the character set in order to emulate a blocky cursor. Why would we want to do this today?

I have nieces and nephews that are somewhat interested in programming, and the idea of trying to make a simple version of "hangman" in BASIC came up. But it's just not possible on the X16, as our native language isn't English, so we can't even type some of the characters that occur in many of our words. This absolutely is a dealbreaker.

Re: Version 1 Postmortem & Proposal for future

Posted: Fri Feb 09, 2024 1:57 pm
by BruceRMcF
arachnivore wrote: Fri Feb 09, 2024 2:09 am
BruceRMcF wrote:If you "know that" the "requirements" weren't ever actually the requirements of the Commander X16, why talk about them as if they were?
I thought I did a pretty good job of distilling the original goals of the project. I laid them out pretty clearly. A huge emphasis of the original proposal was recapturing the learning experience of growing up on retro computers. Now it seems to be re-living the glory days of when 6502 assemby was a useful skill. Which is fine, but I don't think the emphasis is on education anymore.
You said,
Some of the requirements stated in that video don't easily fit under those two main goals:

No FPGAs or MCUs (no reason given)
Must have a real 6502 CPU (no reason given & contradicts part 1:55 of the video)
Must run Commodore BASIC (no reason given & contradicts part 1:55 of the video)
Raspberry Pi is out (because it can run linux?)
... and it's reasonable to read that as requirement of the Commander X16 project, and from that first public announcement that a team had been formed to pursue the the Commander X16 project, "No FPGA's or MCU's" was not a requirement of the Commander X16 project
BruceRMcF wrote:It's interesting to know what got the ball rolling, but why do so many people treat the parts of the blog post that were already superseded by the time of the video as if they are were still design targets
I don't think I fit this straw man. I know the "requirements" stated at 2:44-3:20 of the video were not fully relevant. He says so in the video. I know that. I pointed out as much in my original post.
BruceRMcF wrote:If you are aware of some of the facts on the ground, why write as if you were unaware of the facts on the ground?
I didn't. Re-read my post if you have to.
arachnivore wrote:Obviously, the no FPGA rule was eventually dropped, but I don't think the potential of the FPGA was fully realized.
Did you miss that bit? I even explain why I brought it up in the first place.
We don't say "eventually this rule was dropped" for a rule that was never in place from the start of a project. That's not how the word "eventually" works.

Obviously if you had said "the no FPGA rule was dropped before the project was launched", the question would be why you were contradicting yourself by presenting it earlier as one of the four rules of the project.

You can't eliminate two or three FPGA's / CPLD's from the board design if using them was a no-no from the launch of the project.
BruceRMcF wrote:Logic?
Yes, the logic repeated by Wavicle later in this thread:
Wavicle wrote:That system is a 32-bit dual-core 240MHz microcontroller system with a modern Z80 compatible peripheral. My favorite video for it is the one where the designer plays space invaders entirely on the ESP32 on it. If that scratches a person's retro itch, more power to them. It doesn't mine.
The logic is something like: if we use MCUs for something like an I/O controller, the I/O controller ends up being more powerful than the computer itself. That's absurd therefore we need to avoid it.

I don't think that's sound logic. Instead, you make the entire system absurdly expensive so that you can pretend to avoid the absurdity of building an 80s-era computer out of modern parts. It seems like you're targeting a certain level of suspension of disbelief that you're really working on an 80s computer and the more fragile that suspension of disbelief is, the more expensive the system gets.
But the original blog post that got the project rolling was a blog post talking about getting email from people asking for advice on which 8bit system to buy to get the experience of 8bit computing that Dave was making videos about, and Dave realizing that there weren't any 8bit system that he could advise getting because of the rough edges of those systems, and wishing that a new 8bit system could be made which he could point people like that toward buying.

If your point is that the niche for a system like that is not as big as the potential niche for something else, I don't see how that is an argument for abandoning that niche and moving the project into another niche, especially if the other niche that you are arguing that the Commander X16 should switch into is already occupied. A 6502 + RP2040 board already exists. An eZ80 + ESP32 board already exists. What is the urgency of the Commander X16 abandoning the niches it is targeting which would otherwise be empty, in order to switch to niches you prefer, which already have systems designed along the line you are arguing for?

Re: Version 1 Postmortem & Proposal for future

Posted: Fri Feb 09, 2024 2:31 pm
by voidstar
Extended version of the 5min clip that was encoded as a tribute video on the X16 SD card:

https://www.youtube.com/watch?v=u3D0cU7Vck0

Summarizes a few years of activity.



You can adjust the X16 font fairly easily (in software). See the font editor and a sample set of 100+ fonts is available. Or in any case, there is also the ISO mode (which you could set in the autoboot.x16 to engage that on startup, if so inclined). That should address any "non-English" language concerns.


X16 on hardware audio sample: https://www.youtube.com/watch?v=rgX4HjzRpq4
Yeah, comparable to a sub-$500 digital piano? I'm still waiting for an equivalent demo on the Agon (also point me towards where I plug in the Composite video on the AL?). ZSMKIT has made a lot of the X16 audio capability easily accessible from both BASIC and ML. Do agree maybe there is some bass freq limitations, but expansion card options are coming.


BASLOAD gets around all the issues with BASIC V2. It's good to understand why BASIC V2 had those limits for its time, and dealing with line numbers is like a mid-1950s experience (that is, in respecting that build up in capability - i.e. how to program a system that lacks an actual editor or file system, and do so with only 4K RAM). But after a few minutes of that, then you bring in BASLOAD ( which I think should have been called BLISS: BASIC Lovely Integrated Super Simplifier, or something like that; a cousin to Blitz :) ). BASLOAD is so good, the X16 team might think of making it an actual X16 exclusive (i.e. patents perhaps? make it licensed?).



I do agree there may be a market and interest for a "full system." Ordering just a motherboard is a non-starter for a lot of end users. But whatever, the KIM-1 did well for many years. Some articles are suggesting numbers on the RP5 at 400K units a month - probably a good mix of corporate and university, and worldwide markets. Good sales numbers, but I still can't just turn it on and start typing some code in a few seconds (RP4 was hard to get under 15sec startup and still be useful).


Regarding things like the MiSTer - that's still DE10-Nano based? How much power is that using? (or how hot does it get?) I don't want any fan in my 8-bit retro system, nor any USB.

And - sometimes it's not about tech-specs and it's just about the logo. Ask Apple Computer ;)

Re: Version 1 Postmortem & Proposal for future

Posted: Fri Feb 09, 2024 5:16 pm
by BruceRMcF
novemix wrote: Fri Feb 09, 2024 8:26 am ... Without quoting him directly, just expressing my own understanding, David set out to build a "spiritual successor" to Commodore's 8 bit line, that, as best as could be done, wasn't plagued by the problems of the existing rapidly aging 40ish year old installed base. Something that fit in between the VIC/64/128 and the Amiga. And I think arguably that goal has been achieved. Does it have its quirks? Yes it does, but show me a Commodore 8 bit machine that doesn't.
I think this expresses it well.
_______________
Discrete hardware was a major factor in the design. As was a machine which a single person could reasonably understand and build software and/or hardware for. To my mind, an FPGA machine where you can just load a core and be running pretty much any architecture of your choosing isn't that far removed than just having a capable laptop and running an emulator of the same architecture.
There are two big differences between doing the chip select logic in discrete glue logic in the Dev Board version and then potentially doing it all in a single CPLD in the Gen 2 and having everything except 512KB of SRAM in one or two FPGA in the Gen 3 ... and just jumping to that single CPLD in the first gen, or jumping to that one or two FPGA holds everything in the first gen ...

The first difference is about the issue of hardware base fragmentation. If everyone gets a MISTer, and everyone tweaks it to their hearts content ... that makes it incredibly easy to "define a new, 8bit platform". And that ease is exactly the problem, because now you have 20 "new 8bit platforms", each of them with a small handful of demo programs to show them off, and that's it. At the opposite extreme, DOING the "use DIP, eight bit ASIC for as much of the system as you can" is hard. Even if there are design decisions you would definitely make differently ... there is a strong motivation to just live with those decisions and go ahead, because it was hard enough to make one system in this niche, getting a volunteer development team together to develop a rival in this niche is just not a practical option for very many people.

The second point is the coalition of interests effect. There is a ceiling to the market size of the "look at all of those great 8bit DIP chips!" market, but under that ceiling, there is enough effective demand to launch the project. There is a higher ceiling to the market size of the cost-reduced console version, but a greater need for an established software base ... and for that market, particularly game software base ... to get to the scale where the cost reductions can be achieved. And for half the price of the console system, you can do close to everything outside of a 512KB SRAM in a large enough FPGA ... but without a dedicated software base for it to run, it would be pointless, because it is so easy to develop a system like that, that without a dedicate software base to run on the system, there's no reason to buy that one over a different one.

SO building a coalition of interests between the people who have the strong desire for the DIP board, the people who want the 8bit hardware but can't afford the lower volume Dev board approach and have to settle for 8bit SMB parts, and the people who want to run the X16 games on dedicated hardware rather than on an emulator, gives a much larger install base for software development than any of them could get on their own.

Now, emulating the system is still the lowest point of entry, but even that helps, because it broadens the effective install base and encourages a broader software ecosystem, making the three hardware solutions even more attractive for those who would actually prefer a hardware solution.

_____________________
And not to put too fine a point on it: this is a hobby. One that primarily is going to appeal to old(er) men. Quite a bit of nostalgia mixed with enough "newness" to keep it sexy. Anyone that wants to play and learn on it is of course welcome, but that's the heart of the matter, in my opinion.

edit: just clarifying the demographic point: it has niche appeal. It's a subset of people that have any interest. Even among retro enthusiasts, "new retro" is not a majority interest, in my observation.
Likely the biggest prospective market niche is not the most obvious: that is competitive gaming, aka "esports". Retro gaming is under-represented in esports because, on the one hand, original retro game machines do not readily support the network connection required to connect to the esports server, and on the other hand, it's far to easy to cheat when running a retro games emulator on a modern system.

But there's a big chicken-and-the-egg problem for that prospective market. You need a new system, which can connect to the esports servers and can support the auditing tools that the esports system requires, but which is running the games on hardware which cannot be easily hacked or spoofed for competitive advantage by just redefining the hardware implementation. But you need that on spec: the esport service provider is not going to bankroll the creation of such a system. They'd need an appropriate system to be somehow being created to serve other niches, but just happen to turn out to be suitable for their purposes.

Re: Version 1 Postmortem & Proposal for future

Posted: Fri Feb 09, 2024 5:51 pm
by Ser Olmy
voidstar wrote: Fri Feb 09, 2024 2:31 pmYou can adjust the X16 font fairly easily (in software). See the font editor and a sample set of 100+ fonts is available.
I wouldn't expect a beginner with no programming experience to start by redefining the system fonts, but...
voidstar wrote: Fri Feb 09, 2024 2:31 pmOr in any case, there is also the ISO mode (which you could set in the autoboot.x16 to engage that on startup, if so inclined). That should address any "non-English" language concerns.
You are absolutely right. It's been a while since I looked into this issue, and after some searching (turns out the Programmer's Reference Guide had the information I needed) I figured out not just how easily one can switch to ISO mode, but that the keyboard mappings seem to work perfectly, at least on the emulator.

The X16 just moved up a few positions on my "stuff to acquire" list. Now, if we could get customised keyboards with non-US layouts, with PETSCII characters and double markings on the keycaps... no, I'm not really being serious. :)
voidstar wrote: Fri Feb 09, 2024 2:31 pmX16 on hardware audio sample: https://www.youtube.com/watch?v=rgX4HjzRpq4
Very nice, but the PSG does give an otherwise catchy track a chiptune-y sound.

I see the PSG is used for percussion (which sounds great), and the YM2151 is used for ... well, nothing. Honest question: How much CPU time does the playback routine require?
voidstar wrote: Fri Feb 09, 2024 2:31 pmI'm still waiting for an equivalent demo on the Agon (also point me towards where I plug in the Composite video on the AL?).
I know very little about the Agon Light, especially its audio capabilities, and visiting the various web sites associated with the project didn't help much. I might still get one, since it's dirt cheap. The composite thing doesn't bother me, as I have no equipment that will even accept composite video, and only a few that can handle VGA.

Audio seems to be almost an afterthought on most "modern retro" systems. The Maximite is good, and just from reading the specs it seems the Mega65 has decent PCM capabilities, but I find the rest of the bunch sorely lacking in the sound department.
voidstar wrote: Fri Feb 09, 2024 2:31 pmBASLOAD gets around all the issues with BASIC V2.
BASLOAD is good. Ditching the ancient BASIC interpreter entirely would have been even better.
voidstar wrote: Fri Feb 09, 2024 2:31 pmI do agree there may be a market and interest for a "full system." Ordering just a motherboard is a non-starter for a lot of end users. But whatever, the KIM-1 did well for many years.
In 1976 the novelty factor for anything computing-related was through the roof, and the KIM-1 had hardly any competitors in its price bracket. That's a success story that simply cannot be replicated in the modern age.

Funny thing is, in the 1970s and 1980s people would be impressed seeing a computer do basically anything, and the idea of owning one yourself was enticing even to the general public. At the same time, programming was seen as something any computer owner, home user or professional, obviously had to get to grips with.

Today, computers are almost literally a dime a dozen, and people aren't impressed in the slightest by seeing lifelike graphics in computer games. However, programming (or rather "coding", which isn't quite the same) is frequently in the news and on every (ignorant) politician's lips, and simultaneously something of a mystery to most people. I think it might be possible for the "retro community" to capitalise on this situation.

Re: Version 1 Postmortem & Proposal for future

Posted: Fri Feb 09, 2024 6:47 pm
by m00dawg
"How much CPU time does the playback routine require?"

I can only speak to Dreamtracker here but the entire tracker engine is able to run at 1MHz now (with PCM). If using ZSMKit it should take even less but does trade some I/O as the music can be spooled right off the SDcard (this requiring minimal RAM so it can be used in a game or app without hogging memory).

A few emulators for the X16 are available so my advice is to just grab one and try out the x16 for yourself. box16 will allow you to asses CPU usage along with many other useful additions.

Some useful links:

https://github.com/indigodarkwolf/box16
https://github.com/X16Community/x16-emulator
https://github.com/X16Community/x16-docs

Not as fun as the real hardware (the audio in particular has so much more depth on real hardware, both on X16 Dev and OtterX) but is very close, certainly enough to evaluate if the platform is something you might be interested in or not without having to speculate.

Re: Version 1 Postmortem & Proposal for future

Posted: Fri Feb 09, 2024 7:23 pm
by oodler
arachnivore wrote: Fri Feb 09, 2024 2:09 am One core could handle a "Temple"-like OS and the other could handle audio and video.
TempleOS? Go on ...
arachnivore wrote: Fri Feb 09, 2024 2:09 am It's hard to separate what was actually great about retrocomputing from a sort-of stockholm syndrome syndrome swirled in with the nostalgia.
Well put. So what?

Discord is probably a better way to come to some reconciliation on these issues. This all is about as productive as an old school email list flamewar it seems, which is ironic .. speaking of stockholm syndrome. LOL

Re: Version 1 Postmortem & Proposal for future

Posted: Fri Feb 09, 2024 7:42 pm
by encw
oodler wrote: Fri Feb 09, 2024 7:23 pm Discord is probably a better way to come to some reconciliation on these issues. This all is about as productive as an old school email list flamewar it seems, which is ironic .. speaking of stockholm syndrome. LOL
I am disappointed that the Commander X16 team has chosen to focus their community on Discord and Facebook. It makes the poor quality of the documentation that much harder to overcome, because most of the community and the information it generates exists within walled gardens. In the case of Discord, being a chat app, it just scrolls up and disappears.

Re: Version 1 Postmortem & Proposal for future

Posted: Fri Feb 09, 2024 7:58 pm
by Edmond D
arachnivore wrote: Thu Feb 08, 2024 12:51 am 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.
Hi,

I've been a long time follower of this project and finally ordered the hardware. I grew up in the 80's playing with a VIC-20 and PETs (at school) and the X16 is the next evolution of the 8 bit computers I use to use back then. This base knowledge/experience set me up for a good career in the computing industry, mainly industrial automation with a hardware bend.

I consider myself an average guy. I'm not going to create my own OS, design the next processor, nor come up with a killer app. I am going to have fun with my X16, playing some games, doing a little coding, and sharing my opinions here fro time to time.

While it's easy to comment on what the project could have been, or could become, I'm happy with what it is, hence the order. I have run the emulator on my modern computer; it's good but the real hardware I think will give me more enjoyment (perhaps because I also stare at the same screen, taping the same keyboard and pointing with the same mouse for too many hours a day!)

There have been lots of posts by people who have been in the project and with much more technical depth/expertise than I. They've been kind enough to post their thoughts here; I thank them for it. As well, thanks for posting your thoughts on what you'd like in computing platform, based on your views of the X16.

Your idea creating a RSC-V, FPGA non BASIC system doesn't interest me. That's OK. There are lots of options in computing platforms now a days, so one can find a system one likes and enjoy it. There's enough space for everyone.

Re: Version 1 Postmortem & Proposal for future

Posted: Sat Feb 10, 2024 2:46 am
by m00dawg
RISCV struck me as a keyword so figure I'd give my $0.02 there.

Though to preface, I think the X16 is just fine as it is. It's a wonderful computer, and I love it! Else I wouldn't be here obviously (or spending countless hours working on my music tracker for it). Folks that think otherwise should perhaps give it a chance for what the X16 is trying to solve for. But if not, there's _plenty_ of other retro platforms (new and old) which might be a better fit, and that's perfectly ok!

The base platform of the X16 is ratified. Hardware is already in many end users hands, so it's basically "shipped" and as a result, we won't likely see any major changes. So folks that want a different architecture, the X16 probably isn't for you. But one feature it does have, which is among my favorite, is it exposes the bus (including things like IRQ and, notably RDY) out to expansion slots. This means an expansion card could be created to interface with the bus which could itself be running a RISCV CPU (probably on an FPGA) and could function as a co-processor. Control could be handed back to the 65C02 (or 65816 if that ends up being a thing) for KERNAL calls if required but one could write RISCV programs and still interface with all the hardware. This was enabled with a late design change to provide the RDY pin to the expansion cards (or something along those lines) so that an expansion card can pause the 65C02 and take over for as long as it likes.

I quite enjoy 6502 assembly. DreamTracker was my first big project written in assembly of any kind and I find 6502 asm really approachable and generally kind. A few quirks sure but overall it's a real treat and I can see why other folks really enjoy it. RISCV is quite a bit more complicated, but also more freeing. My current FPGA/RISCV goals are just to start learning RISCV assembly for non X16 projects. Things I can (and do) use ARM microcontrollers for but I think RISCV asm would be more fun and provides a thing that requires writing practical applications.

Long term plans, since again I said above I'm happy with the X16 as-is, would be to consider an expansion card that has headers and bus transceivers to hook something like a ULX3S directly to the X16 bus. The bus could then be mapped to a region of memory in the address space on the SOC running on the FPGA. I think that could be interesting, if sort of esoteric and over the top. A pretty substantial problem with any hardware would be extending the emulator to support it. Without that, writing weird 6502 hybrid programs (or even pure RISCV programs that are just bootstrapped from BASIC) would be quite a bit more difficult, at least without being able to copy data to/from the X16 quickly (work is being done for that). It would otherwise be akin to trying to bolt a modern GPU onto the X16 in a way. Kinda ignoring the purpose of the X16 but the expansion slots are there, if you buy an X16, it's your computer to do with as you please so folks can go as crazy as they dare with it.