Jump to content

Change of product direction, good and bad news!


What should we do?  

371 members have voted

  1. 1. Should we release the Commander X8?

    • Yes, it should replace Phase-3. It's good enough.
    • Yes, but you should still offer a Phase-3 Commander X16 eventually too.
    • No, don't release the X8, stick with the original plan.
  2. 2. Should we still make a Phase-2 product?

    • Yes, Phase-2 is what I want
    • No, skip and go straight to Phase-3
  3. 3. For the X16 Phase-1, do you prefer a kit or a somewhat more expensive pre-assembled board?



Recommended Posts

After voting days ago "Don't release X8" I changed my mind reading all the replies on this thread, but I'm unable to change my vote on the poll. I'm in favor of the X8 selling, especially if it will help to fund the X16 project: I'll personally buy both especially if the X8 is almost ready to sell. Furthermore despite the few details, X8 seems a cool device to have.

Thanks David and the whole team for the effort you're putting on this project(s).

  • Like 2
Link to comment
Share on other sites

40 minutes ago, James Anders Banks said:

Thanks for such a detailed answer.

So the X16c would be a proper board, it wouldn't be a FPGA in a box, it would be a proper assembled board, but of a modern kind that can be assembled largely by machines.

Where can I find a photo of the kind of case the X16c would likely be in? If I recall the photo that used to be on the commanderx16 homepage was for the x16p.

Sorry if I should know the answer to this, but this topic has gotten so long, and I clearly lost track early on of the different versions.

For the CX16c case, check out Perifractic's post in the Case 1 FAQ thread ... the CX16c case design is toward the bottom of the first post.

And yes, the X16c would be a "proper board". The 65c02, 65c22, SRAM, flashROM etc. are all available in more compact "surface mount" packages that are really meant for automated chip placement and "solder oven" soldering. The only through pin one would be the FM sound chips (they are a pair that work together). Now, because of the build cost of all of that discrete logic, the smaller chips that have the various low level functions that "glue" everything together ... the so called "glue logic" ... might be replaced by a single Complex Programmable Logic Device. Or, a simpler FPGA than the one used for Vera might combine that function plus the FM sound chip function. There might be only one RAM chip, used to provide both the 40K of "Low RAM" and the bigger "High RAM". Every design choice will make SOMEBODY cranky (because any choice that everyone agrees on will have made already).

But from what has been said so far, it would be a smaller board than the X16p ... a "mini-ITX" instead of a "micro-ATX" (these are PC motherboards, only the size comparison is relevant here).

spacer.png

So, IOW, there are still design decisions to be made, but the overall impact would be the built board for the X16c would be cheaper than an X16p in kit form.

Edited by BruceMcF
  • Thanks 1
Link to comment
Share on other sites

On 8/21/2021 at 6:48 AM, The 8-Bit Guy said:

Regardless of whether a crowd funding platform requires something or not, I have a reputation of integrity to uphold.  The last thing I want is people saying that the 8-Bit Guy took their money and didn't deliver on a promise.  However, I have been considering doing some sort of crowdfunding where it would literally just be asking for donations to keep this project alive.  An infusion of $20,000 with no requirement to repay it would go a LONG way to pushing this product out to the public.  $100,000 would guarantee a successful launch.   But that's a lot to ask.  I know there are several thousand people interested in this.  If everyone just donated $5 that would probably be an incredible help.

https://www.patreon.com/8BitGuy1
I have just pledged the 'Red Snapper' 😁

  • Like 1
Link to comment
Share on other sites

On 8/21/2021 at 4:48 AM, The 8-Bit Guy said:

Regardless of whether a crowd funding platform requires something or not, I have a reputation of integrity to uphold.  The last thing I want is people saying that the 8-Bit Guy took their money and didn't deliver on a promise.  However, I have been considering doing some sort of crowdfunding where it would literally just be asking for donations to keep this project alive.  An infusion of $20,000 with no requirement to repay it would go a LONG way to pushing this product out to the public.  $100,000 would guarantee a successful launch.   But that's a lot to ask.  I know there are several thousand people interested in this.  If everyone just donated $5 that would probably be an incredible help.

Heck, I'd gladly pay $10 for the X8 emulator. If there's a top-up option, I might top it up to pay for the X16 emulator, to repay the programming fun I've already had.

Note I'm not saying it was a mistake to not crowdfund earlier ... there are several sh!tstorms that have been avoided by taking the cautious route.

Edited by BruceMcF
Link to comment
Share on other sites

5 minutes ago, BruceMcF said:

 

 

But from what has been said so far, it would be a smaller board than the X16c ... a "mini-ITX" instead of a "micro-ATX" (these are PC motherboards, only the size comparison is relevant here).

Is there a typo there, should say "than the X16p"? Or have I really badly misunderstood this time?

Again thanks for the detailed reply.

 

 

  • Like 1
Link to comment
Share on other sites

Just now, James Anders Banks said:

Is there a typo there, should say "than the X16p"? Or have I really badly misunderstood this time?

Again thanks for the detailed reply.

Typo, thanks for the catch.

Link to comment
Share on other sites

On 8/20/2021 at 4:31 PM, rje said:

 

I can.  If it's easier to use the VERA on the X8, then maybe I'd rather program on that instead of the X16.

The hobby platform has to be hackable, but (in my case) accessible too.

 

Developers hat on, I’d rather the x8 design, period. The pipe is an understandable design decision but makes too much too challenging. Michael and I wrote line routines independently and they’re about the same speed. I don’t think anything that doesn’t fit sprites and tiles really works.

Link to comment
Share on other sites

On 8/20/2021 at 5:49 PM, Scott Robison said:

As for the whole X8 vs X16. It would be ideal if X8 had the same interface to VERA as X16 has, but I don't think that's a show stopper. I've not seen it, but 38 years of programming experience leads me to believe a couple kernal routines can paper over the difference between accessing the two interfaces, or a couple routines in the program if not available in the kernal, or even conditional compilation and assembly for maximum speed.

Yes and no.  I think the X8 would be able to do things the X16 can't. You can work round the sprites and tiles stuff, the setup and data copy. Where you have a problem is mimicking the direct access you have to the X8 ; the window allows you to do things that the X16 just can't do quickly enough. If you wanted to rewrite Elite for example you could probably fill polygons, whereas on the X16 you'd have a problem drawing lines quickly enough.

Link to comment
Share on other sites

On 8/20/2021 at 6:27 PM, x16tial said:

In the end, I think David needs to revisit his former self: the one that imagined the "Dream Computer".

Is the X8 that computer?  I think he's indicated that it isn't; not quite. It's pretty neat, but is it the Dream?

I think the X16 full version, was, and still is, that dream computer.  If so, that should be the focus, everything else is distraction, and when you don't have unlimited time and money, distractions are killers.  And it seems they can be even if you do.

David will have to decide if I'm wrong, but focus is needed.  What would "Dream Computer" David have wanted at this moment?

Actually the X8 is way closer. The original plan was something that was going to cost $30. I don't think that's doable, maybe as a DIY kit just, but there's a thing called the ZX-Uno which is effectively a Superspectrum, which is something like $60-$80 to produce I think. You could probably design it for less now.

The "real hardware" design came later.

Link to comment
Share on other sites

On 8/20/2021 at 8:06 PM, Carl Gundel said:

I have no interest in the X8.  Please convince me.

It's cheap, technically feasible and nearly the same thing. I don't know if it has external RAM or uses Block RAM, but effectively what it does is move the 6502 into the FPGA rather than existing as a seperate chip.

It's already too many black boxes. Aside from obviously Vera which now does most of the sound and all the graphics, there are microcontrollers and all sorts to make it work.  It's a black box already. If you want the bells and whistles do Ben Eater's course. If you want to build a kit, it could probably be a kit.

I think it's a no-brainer personally. Largely because if nothing happens soon the project will die.

Link to comment
Share on other sites

On 8/22/2021 at 1:18 AM, TomXP411 said:

So as a BASIC computer, the C8 is actually a better machine. As a machine language or C computer, the X16 has some benefits... but I'm starting to think those benefits aren't as worthwhile as folks think. The real advantage of the X16 is the expansion and User ports, not so much the expanded RAM.

Hardware's not my thing, but couldn't you just have an I2C port on the FPGA for expansion ? Then if you wanted (say) a classical user port you could get an Arduino to do it, maybe.

Link to comment
Share on other sites

On 8/23/2021 at 9:53 AM, Shauny said:

The X16 turned out to be an odd abomination, with it's mix of fpga and old ICs, certainly not a computer built from off the shelf parts originally envisaged. The X8 is not what was originally envisaged either, it's just fpga, a poor relation to the likes of the Mega 65 or the Sinclair Next and the Raspberry Pi4. 

What's worse is it could be seen as a poor attempt to clone the C64 mini.

 

The Next and the M65 are pretty much entirely FPGA, they just have external RAM (which may be worth considering for the X8 ? Thinking of Grant Searle's work here). You can have a working M65 now, you just need a Nexys A7 board.

Link to comment
Share on other sites

On 8/24/2021 at 4:04 AM, TomXP411 said:

Yeah, I'm kind of wishing they had gone with the open ROMs and used a FOSS 6502 BASIC. There are a couple out there. 

Or if there isn't a suitable one, the community could probably have built an interpreter by now. Add the text editor and assembly environment written by other folks here on the forum, and we'd already be done with the firmware - without paying Cloanto a red cent. 

 

 

It's probably easier than trying to fudge MS Basic, especially for long identifiers and similar. Still if the description of the X8 is correct and it's a small boot ROM, then replacing it is trivial-ish.

Link to comment
Share on other sites

On 8/24/2021 at 5:06 AM, BruceMcF said:

But that's spilled milk under the bridge ... or some such ... and with a commitment that it will be possible (but at User Risk) to flash a CX16p board, if the intersection of people interested in having a FOSS alternative BIOS and Basic, people with required range of 6502 assembly language and other development skills, and people with the time to commit to the effort is not an empty set, that project could be forked today.

I would not actually be surprised if it happens someday, but I wouldn't expect it to happen until the boards are released.

Already exists https://github.com/paulscottrobson/6502-basic

No floats , largely because I don't like them 🙂 but the hooks are all in there for it. It's designed to run in banked RAM, but doesn't have to. Haven't worked on it much recently. Whole pile of graphics sprite and sound functions, and a 65C02 assembler. From memory it's about 14k or something. https://github.com/paulscottrobson/6502-basic/blob/main/documents/Reference.pdf

  • Like 1
Link to comment
Share on other sites

14 minutes ago, paulscottrobson said:

The Next and the M65 are pretty much entirely FPGA, they just have external RAM (which may be worth considering for the X8 ? Thinking of Grant Searle's work here). You can have a working M65 now, you just need a Nexys A7 board.

External RAM requires 8 data lines and at least 16 address lines (essentially FPGA pins) and VERA's FPGA doesn't have enough of those (it currently uses 8 data lines and only 5 address lines). A bigger FPGA with more pins would also be more expensive.

Link to comment
Share on other sites

1 hour ago, paulscottrobson said:

Actually the X8 is way closer.

Yeah, I changed my mind on that, and created the thread about making that hard decision.

And really, I want VERA module(s) for systems I already have. If I had to bet, the X16 will be released, and probably the X8 sooner or later, adding 2 platforms to the 8-bit arena.  So I'd rather have VERA all around, and ideally have it just be processor agnostic, giving video capabilities (and more) to any system that can feed it 1's and 0's fast enough.

Edited by x16tial
  • Like 1
Link to comment
Share on other sites

7 hours ago, paulscottrobson said:

Already exists https://github.com/paulscottrobson/6502-basic

No floats , largely because I don't like them 🙂 but the hooks are all in there for it. It's designed to run in banked RAM, but doesn't have to. Haven't worked on it much recently. Whole pile of graphics sprite and sound functions, and a 65C02 assembler. From memory it's about 14k or something. https://github.com/paulscottrobson/6502-basic/blob/main/documents/Reference.pdf

Though to be a competitor to the licensed Basic, as opposed to an option if the license didn't come through, it would have to cater to David's preference for a Basic that is compatible with vanilla V2 Basic code that runs on a C64. That along with a Kernel that implements the Commodore Kernel interface would likely need a development team, since by their nature their first impression would be that they were built on Commodore IP that Cloanto claims, and they would have to document that they are "clean code".

Edit: though that's a much nicer Basic. I hope someone extends it to at least 4byte floating point (with 32bit integers, the extended Commodore mantissa is not as critical). Though, come to think of it, for a lot of programming tasks, maybe a 16.16 fixed point would be a usable alternative which would be, obviously, much more efficient to execute on a 65C02.

Edited by BruceMcF
  • Like 1
Link to comment
Share on other sites

This thread has been a lot of fun.  After a full week, responses are dying down somewhat but I wonder... are armchair engineer (me) pontification leading to anything aside from mild entertainment? Is the release of something imminent?

Spending way to much $$ on eBay crap and would like to pay fwd, not back.

 

Link to comment
Share on other sites

12 hours ago, paulscottrobson said:

Actually the X8 is way closer. The original plan was something that was going to cost $30. I don't think that's doable, maybe as a DIY kit just, but there's a thing called the ZX-Uno which is effectively a Superspectrum, which is something like $60-$80 to produce I think. You could probably design it for less now.

The "real hardware" design came later.

Though the original plan was something that was going to under $50 and made from off the shelf ASIC chips, which was an internal contradiction.

The "phase 1" (X16p) and "phase 3" (X16e) plan eventually emerged from that contradiction. And of course, the X8 emerged as a proof of concept of the X16e.

 

12 hours ago, paulscottrobson said:

It's cheap, technically feasible and nearly the same thing. I don't know if it has external RAM or uses Block RAM, but effectively what it does is move the 6502 into the FPGA rather than existing as a seperate chip.

It's already too many black boxes. Aside from obviously Vera which now does most of the sound and all the graphics, there are microcontrollers and all sorts to make it work.  It's a black box already. If you want the bells and whistles do Ben Eater's course. If you want to build a kit, it could probably be a kit.

I think it's a no-brainer personally. Largely because if nothing happens soon the project will die.

It appears that it is just the same internal 128KB single port RAM in the same FPGA as the Vera was designed on. Vera has 128KB internal RAM accessible at the 50MHz dot clock because that member of that FPGA family has a 1Mb SPRAM module. Take half of it and make it 65C02 system RAM, keep the other half for the Vera routines, add some more secret sauce, voila, X8.

This black box argument doesn't seem like it is likely to persuade many people who are not already inclined to agree with it. The Video and Audio chips being "black boxes" in that sense was normal in the 80s. If an in-stock tile and sprite video chip was still in production, then it would have been a black box too. The micro-controller is a white box. Serial is going to be bit banged on VIAs, which is very white box. The PS/2 ports are either going to be bit banged on VIAs or run on code on the micro-controller, so they are white box one way or the other.

The biggest feature creep of them all was adding bit-mapped graphics modes, but as long as the bit-maps are used as the equivalent of painted canvas backgrounds in the theater it's still in the spirit of 8bit graphics. Luckily they didn't give in to the demands for more feature creep with more built in Vera functions to support faster bitmap rendering on the fly, or else there wouldn't have been the logic resources to spare for the X8 to include the full Vera operations and the 65c02 core as well.

 

12 hours ago, paulscottrobson said:

Hardware's not my thing, but couldn't you just have an I2C port on the FPGA for expansion ? Then if you wanted (say) a classical user port you could get an Arduino to do it, maybe.

The issue is pins ... there appears to be at most one spare X8 pin, and that might not be truly available ... it might be stranded by logic resources used for other things. To get two free pins, you need to overload the I2C on something that already has a purpose. If the unofficial information in circulation is correct, the most obvious candidates are the two pins used for the debug serial interface, which @Wavicle describes as being "connected to a UART driver and accessible to software via I/O registers", but since that will already be on pins, I would prefer if that could be left open as a two line serial port.

And also, there might not be sufficient logic resources to do that overlay, especially since you want the two wire debug serial access to be able to work even when the internal register has set the port to I2C.

What may be possible is to make the existing SPI interface available on a block pin header with independent selects. Two chip selects are already done, one for the SD card, one for the serial flashROM (I presume the bootloader loads from a specific location in the flashROM, since at 512bytes fitting an SD card read routine would be challenging). They are decoded internally .. %10 selected one, %01 selects the other, %00 and %11 turns off both. Taking out the internal decode and decoding them externally seems like it would allow for setting up the SPI expansion bus ... a 2>4 decoder would generate the SD select and serial flashROM select lines. A third select line could select a serial shift register, into which you could write the state of the eight "external" select lines. Then the fourth select line would enable the output of the eight external select lines. With the output high impedance when output is not enabled, pull up resisters would ensure that the external selects are only low when they are set low in the serial shift register AND the output is enable.

So you could have a block pin header with SPI MOSI, MISO, SCLK, +3.3v, GND and CS0-CS7.

Even more speculative than the above (speculative^2), if the unused pin is an actual spare pin and not just stranded, it might be given to an alert pin which shows up in the SPI control register. That would have to be polled if it was used, unless there is the spare logic to have a setting to allow it to trigger the 65C02 IRQ.

Just put an SPI GPIO extender on a hat, and you have a User Port. Or you can have an RTC, or an RS-232C interface with hardware flow control, or ... well, since what happened when SPI faded a bit relative to I2C (when the faster I2C protocols became established) was a a portion of the market accepting both SPI and I2C for serial I/O, there is quite a lot that can be done if you have an SPI bus with enough selects. And of course you can talk to modern microcontroller SBCs as well: I'm thinking an RPi nano hat would be straightforward.

 

12 hours ago, paulscottrobson said:

The Next and the M65 are pretty much entirely FPGA, they just have external RAM (which may be worth considering for the X8 ? Thinking of Grant Searle's work here). You can have a working M65 now, you just need a Nexys A7 board.

I have been guessing that external RAM would be the biggest cost driver ... both the RAM itself and the cost of the larger FPGA with enough pins to increase from 5 address pins to 22 or 24 ... behind David's estimate that the X16e would cost roughly twice what the X8 does ... so where the X8 might cost in the range of $35-$50, the X16e might cost in the range of $70-$100.

For me, if the X8 can be given SOME way to have expansion hats, the $35-$50 price range really sets it ahead of the X16e. The load and run compatibility with the X16p/X16c would be nice, but without the slot, it's only "compatible until I make a card to go into the slot". Without the option for a bus mastering card, the X16e is much more locked down than the X16p/X16c.

So in THAT sense, the bootloader "load BIOS code to RAM and run it" approach is actually more in line with the X16p/X16c than the X16e is, and at half the price.

Once I worked out that the video RAM can be used to store program data that has nothing to do with video functions ... the only thing I'd really want to add to the X8 is some way to put a hat on it.

Edited by BruceMcF
  • Like 2
Link to comment
Share on other sites

9 hours ago, paulscottrobson said:

Actually the X8 is way closer. The original plan was something that was going to cost $30. I don't think that's doable, maybe as a DIY kit just, but there's a thing called the ZX-Uno which is effectively a Superspectrum, which is something like $60-$80 to produce I think. You could probably design it for less now.

The "real hardware" design came later.

In some ways the X8 is closer, in some ways the X16 is closer. I'm sure someone could come up with a list if they agree, I haven't followed all the details well enough to do so.

Link to comment
Share on other sites

2 hours ago, James Anders Banks said:

In some ways the X8 is closer, in some ways the X16 is closer. I'm sure someone could come up with a list if they agree, I haven't followed all the details well enough to do so.

That's my basic position, so it's not surprise that I agree.

What I did find surprising when finding out more about the X8 is that with just one design tweak, despite being less software compatible than the X16e, it can be made closer in spirit to the X16p and X16c in some respects. The X16e compatibility with the X16p/c stops when something is put in the slot of a X16p/c.

And that is on a potential price point that is a killer advantage over the X16e all on its own.

  • Like 1
Link to comment
Share on other sites

6 hours ago, BruceMcF said:

Edit: though that's a much nicer Basic. I hope someone extends it to at least 4byte floating point (with 32bit integers, the extended Commodore mantissa is not as critical). Though, come to think of it, for a lot of programming tasks, maybe a 16.16 fixed point would be a usable alternative which would be, obviously, much more efficient to execute on a 65C02.

Oh, it's easy enough. All the hooks are in there, there's a dummy module. I've got a 6502 FP package I wrote from scratch somewhere (isn't great), or I could retrofit Woz's. I just haven't bothered 🙂 The default is integer (it's postfix $ string # real % integer) but any can be the default type, even string. The only thing missing would be the Taylor series stuff which is hardly ever used anyway.

Link to comment
Share on other sites

6 minutes ago, paulscottrobson said:

Oh, it's easy enough. All the hooks are in there, there's a dummy module. I've got a 6502 FP package I wrote from scratch somewhere (isn't great), or I could retrofit Woz's. I just haven't bothered 🙂 The default is integer (it's postfix $ string # real % integer) but any can be the default type, even string. The only thing missing would be the Taylor series stuff which is hardly ever used anyway.

I said "I hope someone" because there's no way on this green earth that it would be me. If xForth development goes well in my time off this fall after getting back to the US, I might seriously consider putting in signed fixed point. Though come to think of it, maybe 24.8 rather than 16.16.

Link to comment
Share on other sites

15 minutes ago, BruceMcF said:

 

 

4 hours ago, BruceMcF said:

The issue is pins ... there appears to be at most one spare X8 pin, and that might not be truly available ... it might be stranded by logic resources used for other things. To get two free pins, you need to overload the I2C on something that already has a purpose. If the unofficial information in circulation is correct, the most obvious candidates are the two pins used for the debug serial interface, which @Wavicle describes as being "connected to a UART driver and accessible to software via I/O registers", but since that will already be on pins, I would prefer if that could be left open as a two line serial port.

I have been guessing that external RAM would be the biggest cost driver ... both the RAM itself and the cost of the larger FPGA with enough pins to increase from 5 address pins to 22 or 24 ... behind David's estimate that the X16e would cost roughly twice what the X8 does ... so where the X8 might cost in the range of $35-$50, the X16e might cost in the range of $70-$100.

I haven't seen it. I would be interested to know what the pins are used for. USB in, Audio out (D/A ladder ?), Video out of some sort , SD Card interface.

I think making it cheap opens up a whole new vista, and adding your serial RAM chip opens it up even more.  If 8 bit Dave does release the X8 I hope they spend a little bit of time tweaking the design. An option or a slightly larger port and you could use VRAM as an extended memory like A000-BFFF is now if you weren't using all of it.

But then I never bought the authenticity argument. I still don't really, as a learning experience. I don't buy the whole thing educationally, not that there mightn't be a use for it, but the old Microsoft BASIC is just unusable for that. I was teaching programming nearly 40 years ago and it was antiquated then.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Please review our Terms of Use