Yeah but I'm a hobbyist who wants to write 6502 code, so I'm going to write 6502 code. If someone else wants to make Chrono Trigger and use all of the X16GS-exclusive features my system can't do, that's fine and doesn't interfere with the reason I got my system in the first place.
Also, for clarity's sake, CGA/8088 to VGA/386 is a much more dramatic upgrade compared to the X16's upgrades, which I'd doubt most end-users would even notice what the differences are.
And one last (unnecessary, I know) correction; I don't recall a 65816-powered Gameboy. Those were an SM83 with a Z80-style instruction set all the way up until the GBA, which was an ARM. That and it's apples to oranges to compare one to a C64.
FAQ Update for Gen-2 aka "CX16GS" system
Re: FAQ Update for Gen-2 aka "CX16GS" system
I suspect the GB reference was perhaps meant to be SNES (which does have a 65816 variant).
Regarding 6502 code, you can still run the X16-GS in 6502 mode with the only caveat being the 65C02 specific instructions that were replaced on the 65816. That's already in the current documentation since X16-Dev would have the same issue there. If you're wanting to write pure 6502 then there's no problem and programs should happily run on X16-Dev and very likely the X16-GS.
Regarding 6502 code, you can still run the X16-GS in 6502 mode with the only caveat being the 65C02 specific instructions that were replaced on the 65816. That's already in the current documentation since X16-Dev would have the same issue there. If you're wanting to write pure 6502 then there's no problem and programs should happily run on X16-Dev and very likely the X16-GS.
Author of Dreamtracker (https://www.dreamtracker.org/)
Check Out My Band: https://music.victimcache.com/
Check Out My Band: https://music.victimcache.com/
-
- Posts: 6
- Joined: Thu May 30, 2024 11:59 pm
Re: FAQ Update for Gen-2 aka "CX16GS" system
Will modifications to Gen-1 boards be offered to have flat address space and more than 2MB RAM?
Re: FAQ Update for Gen-2 aka "CX16GS" system
We don't know, yet. It's possible to create a CPU carrier board that has a 32MB memory module on board, but it's also almost certain that this board's function will differ slightly from the GS. Also, with the GS being Kevin and David's focus, designing a CPU/memory board would take even more time and push back the release of the GS.8_bit_memories wrote: ↑Tue Mar 18, 2025 4:16 pm Will modifications to Gen-1 boards be offered to have flat address space and more than 2MB RAM?
So honestly, I wouldn't count on it.
Re: FAQ Update for Gen-2 aka "CX16GS" system
So in other words, to do development for GS-specific features, you need a GS and not Gen 1? (At least for now?)
Re: FAQ Update for Gen-2 aka "CX16GS" system
I don't know. The way things look right now, that's the case. However, I'd love to be proven wrong and see some sort of compatible solution come along that bridges the gap.
But I'm already prepared to make my Dev system a shelf queen, when the GS board is released.
Re: FAQ Update for Gen-2 aka "CX16GS" system
The 65C816 isn't all that different from a 65C02. 16-bit A/X/Y registers, yes, but the 8-bit data bus means there's not that much of a speed difference. The biggest wins are the relocatable direct page and 16-bit stack pointer, along with some extra addressing modes and a few useful new instructions. The DP and stack pointer changes allow for some multitasking (as you can now have separate direct page and stack for each process) and the bigger stack combined with stack-relative addressing modes and the PEA/PEI/PER allow for much easier implementation of high-level languages such as C or Pascal.
These features are great if you're making a fully-fledged operating system like GS/OS on the Apple IIGS, but for the current execution model on the CX16 where a single program can control all of the machine's resources it's not as big of a deal. Unless you really need to deal with large amounts of RAM, most things can be done in the 8-bit emulation mode almost as easily as in 16-bit mode. If you look at actual 65C816 code from the SNES or Apple IIGS you'll see that it's common to frequently swap either the A or X/Y registers to 8-bit mode anyway. (It makes things like string manipulation much easier.) So in practice a lot of 65C816 code ends up identical to 65C02 code.
The Game Boy used a Sharp SM83 processor, which was sort of in between an 8080 and a Z80.But I also see the other side to this: there were far more 65816-based Gameboys sold than even C64 units.
The only popular consumer devices that used the 65C816 were the Apple IIGS and the Super Nintendo. (The latter used a Ricoh 5A22, which was a 65C816 with some extra peripherals built in.)
I'd definitely want to better high-level language support on the CX16GS. The Apple IIGS had multiple C and Pascal compilers, as well as a Modula-2 compiler.I'd still be concerned about (1) higher level language compiler support (even cc65's X16 support as it is, is barely supported -- things like how it corrupts the zeropage and you have to reset the system when the C program ends, still isn't addressed).
The much improved stack operations on the 65C816 make a real high level language so much easier that it would be a shame not to have one. In particular having a good C compiler would make it much easier for people used to programing modern systems to learn the CX16GS.
Is a 65C816-based really BASIC necessary? Apple stuck with the same 1978 AppleSoft BASIC (a version of Microsoft BASIC v2 very similar to what Commodore used in the C64) even on the Apple IIGS. I would assume the CX16GS would stick with the exact same BASIC as the existing CX16 dev board.(2) Or what licensing issues will come up incorporating some 65816-version of BASIC.
-
- Posts: 6
- Joined: Thu May 30, 2024 11:59 pm
Re: FAQ Update for Gen-2 aka "CX16GS" system
I wasn't looking forward to buying this machine twice. We'll see what happens on the software side of things.TomXP411 wrote: ↑Tue Mar 18, 2025 5:12 pmWe don't know, yet. It's possible to create a CPU carrier board that has a 32MB memory module on board, but it's also almost certain that this board's function will differ slightly from the GS. Also, with the GS being Kevin and David's focus, designing a CPU/memory board would take even more time and push back the release of the GS.8_bit_memories wrote: ↑Tue Mar 18, 2025 4:16 pm Will modifications to Gen-1 boards be offered to have flat address space and more than 2MB RAM?
So honestly, I wouldn't count on it.
Maybe it would have been better to make the Gen-2 so different that there's no buyer's remorse, like go with the 6309 or something in the 68K family. . . .
Re: FAQ Update for Gen-2 aka "CX16GS" system
Ok, I'm no hardware designer but it seems like it would be pretty easy to build a carrier board that just provided the extra 16 MB of RAM for the native 24-bit addressing space.TomXP411 wrote: ↑Tue Mar 18, 2025 5:12 pmWe don't know, yet. It's possible to create a CPU carrier board that has a 32MB memory module on board, but it's also almost certain that this board's function will differ slightly from the GS. Also, with the GS being Kevin and David's focus, designing a CPU/memory board would take even more time and push back the release of the GS.8_bit_memories wrote: ↑Tue Mar 18, 2025 4:16 pm Will modifications to Gen-1 boards be offered to have flat address space and more than 2MB RAM?
So honestly, I wouldn't count on it.
To map a 16 MB SRAM to the native 24-bit address space (but leave bank $00 using the motherboard RAM/ROM/IO) I think you'd just need an 8-bit latch to grab the bank number when it shows up on the data bus, then a comparator (or even just some cascaded OR gates if they're fast enough) to see if it's zero. If zero, pass the memory access to the motherboard RAM (and let the motherboard's address decoding logic handle all of the bank switching that goes on in the original 16-bit address space), and if non-zero then use the latched bank byte and the 16-bit address to index into 16 MB of SRAM on the carrier board. (The bottom-most 64k of that RAM chip would go unused.) There are some timing issues to worry about and some extra logic for chip select lines and such, but that's not too hard.
If you wanted the other features (mapping RAM in place of ROM banks) then an FPGA would be the way to go. But honestly I can't see much of a use case for that; the flat 16 MB address space is much more useful than extending the already convoluted banking of the base CX16 address space.
Re: FAQ Update for Gen-2 aka "CX16GS" system
For me, it was always a foregone conclusion that I'd end up buying at least the Gen-2 board.8_bit_memories wrote: ↑Tue Mar 18, 2025 8:23 pm I wasn't looking forward to buying this machine twice. We'll see what happens on the software side of things.
Maybe it would have been better to make the Gen-2 so different that there's no buyer's remorse, like go with the 6309 or something in the 68K family. . . .
I really don't mind that the GS has some new features. This version of the board is actually much more in line with what I originally wanted to see. So if anything, the GS is the Commander X16 I wanted to see several years ago.