10 hours ago, Squall_FF8 said:
I'm software developer so less hardware, the better. That is why FPGA seems much closer to perfection - emulator ?
Now on topic X16 vs X8. TBH X8 seems much better from software perspective - 12Mhz, a window in VRAM (no registers), USB. So
But that compatibility to be reversed - x16 to be compatible with x8 - window in VERA, 12mhz, USB.
Wishful thinking:
The best will be x16 with 65816 that directly address 24bits of address space (no need for windows in RAM/ROM), VERA with window (as X8) or even directly mapped in address space (it will take only 2 banks), RGB to be at least 666 why not even 888, more VRAM so actually 640x480 could be used (now is only a feature on a paper)
In addition to the below, note that much of your wishful thinking was the generation 1 board that they scrapped for being too complicated. So that is not Dave's dream computer project, but rather some other project ... specifically, for your wishlist, the Feonix256.
Remember that the FPGA is not because they
wanted it, but because there is no appropriate ASIC off the shelf video chip for a tile and sprite VGA linebuffer system. They are all framebuffer chips. The sub $10 FPGA that comes with enough built in SPRAM memory to support the kind of sprite and tile functions they want comes with 1Mbit of SPRAM, which is 128KB. So, again, asking for "more VRAM" is asking for another project (and again, AFAIU, specifically the Feonix256, where the speed to support a 50MHz dot clock comes from accessing multiple 8bit SRAMs in parallel rather than from relying on SPRAM internal to an FPGA).
Also, from a software perspective, 12MHz, 64K total general purpose system RAM and 64K RAM divided between video output and data storage is only going to be faster than 8MHz, 40K general purpose system RAM, 512KB-2MB extended RAM, 512K ROM, 128KB video RAM for applications that fit the limited RAM. The whole X8 for possibly $50 or less is because Vera was implemented on a less expensive member of its FPGA family, and because 128KB SPRAM has been reallocated to be divided between system RAM and video RAM. When you drop from using that internal RAM to using files on an SD card, your effective speed takes a much much bigger hit than the X16, which at a similar point pays a much smaller speed penalty to play extended RAM juggling games. But mostly, keep in mind that "USB" is not "a general purpose USB stack"
. There is no reason to assume the hardware supports more than USB 1.0, which would be adequate for the keyboard + joystick support, and there is no reason to assume that it supports a hub. It's up in the air whether we will learn more, but if we do, it would not be surprising if efforts to use the USB for more than it's designed purpose would involve a lot more hair pulling than expected by those of use who have never implemented a USB device stack in 6502 assembly language on a USB system that is not designed nor intended for expansion beyond it's original purpose. Indeed, implement an internal X16 user port board that holds an RPi nano, and you've got a USB host in an X16 system ... AND you only have to write the two pieces of software ... the client side for the X16 and the server side for the RPi nano ... and much more code will be in existence that either support or give a starting point for supporting the USB devices you want to support.
9 hours ago, Scott Robison said:
The nature of the VERA hardware is what prevents the window into RAM in X16 (regardless of CPU model or speed). X8 puts a soft CPU core and VERA on the same FPGA so they can share resources internally without having to use limited physical IO pins. Thus why the design goals of x16 (separate components) are incompatible. It would be possible if there were more pins on the VERA that would allow decoding of more address lines, but that would drive up the price of VERA, and people are already showing resistance to most things that would involve an increased price on the hardware.
Indeed, switching from the X16 register access with two auto-incrementing memory ports with associated accumulator/adders to a simple page bank register may be freeing up some of the logic resources used for the 6502 core.
I'm looking at the X8 as a happy accident. I still want an X16c on my desk, but I'd only want an X16e if I couldn't afford an X16c when the crowdfund launches.
If the X8 can get an opportunity for an expansion option, I'd want one of them too.