Something unique about the X16 is that didn't start as a classical 6502 machine; when it was moved to an 8-bit CPU, it was specifically the modern 65c02, so those newer opcodes had been standard this whole time, and developers had gotten used to them by now.
Thinking about this, it makes sense why the '816 news, and needing to avoid those opcodes now, had a surprisingly large impact. And the funny thing is, most developers who join from this point on will probably be used to regular 6502 and used to not using those opcodes anyway, so this might be a pain that only early X16 developers will ever know.
A plea to the dev team
Re: A plea to the dev team
Hey, I thought it was X16 because the of the 16-channels of the PSG? Or because the ROM banks are 16KB? Or just that it just matches something like M16 or F-16 (which were both also great products!) [ im half teasing since even in David's early videos he mentions a plan to use the 816 - and Kevin later also discussions some of the challenges of that and why it was abandoned; but I'd still say the name doesn't really have to relate specifically to the processor - C64 for example referred to the 64K RAM, Tandy 1000 referred to --well nothing the 1000 came after the 2000 ]
The OP is right - the system is great as it is, so careful on the changes from this point on. Tutorials and documentation (in a variety of formats) is what most are asking for -- but it's hard to focus energy on those, if folks don't trust the system is not going to drastically change in a way that wrecks their tutorial or doc.
Look in the Archive section in Downloads, pulled from the old forum. There was some great software back in the R37 days:
Akalabeth
MODPlayer
CityConnection
CC65 Chess (R37)
Pool Simulator
And all of them don't work anymore. So, we just want to avoid that happening again. That said, I think even IBM updated the ROM in the IBM PC during the first year (for one thing the initial ROM had a bug limited it to actually 512KB instead of 640KB).
I'm still not too interested in the 65C816 - until/unless cc65 is confirmed to support it for this platform. And for multi-tasking, the new (within the past year) NitrOS-9 Ease of Use release for the 6809 has got that all covered (and with a GUI).
The OP is right - the system is great as it is, so careful on the changes from this point on. Tutorials and documentation (in a variety of formats) is what most are asking for -- but it's hard to focus energy on those, if folks don't trust the system is not going to drastically change in a way that wrecks their tutorial or doc.
Look in the Archive section in Downloads, pulled from the old forum. There was some great software back in the R37 days:
Akalabeth
MODPlayer
CityConnection
CC65 Chess (R37)
Pool Simulator
And all of them don't work anymore. So, we just want to avoid that happening again. That said, I think even IBM updated the ROM in the IBM PC during the first year (for one thing the initial ROM had a bug limited it to actually 512KB instead of 640KB).
I'm still not too interested in the 65C816 - until/unless cc65 is confirmed to support it for this platform. And for multi-tasking, the new (within the past year) NitrOS-9 Ease of Use release for the 6809 has got that all covered (and with a GUI).
Last edited by voidstar on Tue Jun 04, 2024 2:28 am, edited 1 time in total.
Re: A plea to the dev team
So am I supposed to be using 65c02 opcodes or not? Cos I've gotten used to using them.
I agree the biggest shortfall is tutorials and documentation. Even the most comprehensive tutorial from SlithyMatt is out of date. We need example code!
The VERA FX documentation is very difficult to understand. The Kernal documentation is confusing too, especially if you're new to coding, the Kernal routines are some of the best things about the system. The VERA Programmers Guide isn't bad, but it needs examples. I don't know who the developers are, but I agree they should put a hold on the current milestone and refocus their efforts on documentation. It's kinda ironic that one of the goals of the system was to make "making games" more accessible than what it was on the C64.
The 8-bit Guy YouTube channel has the biggest reach, how come David hasn't done any more technical deep dives into using the CX16? Most of it seems to be marketing type stuff, advertising new games etc. He obviously is very skilled at 6502 assembly, why not have a few tutorial videos?
I agree the biggest shortfall is tutorials and documentation. Even the most comprehensive tutorial from SlithyMatt is out of date. We need example code!
The VERA FX documentation is very difficult to understand. The Kernal documentation is confusing too, especially if you're new to coding, the Kernal routines are some of the best things about the system. The VERA Programmers Guide isn't bad, but it needs examples. I don't know who the developers are, but I agree they should put a hold on the current milestone and refocus their efforts on documentation. It's kinda ironic that one of the goals of the system was to make "making games" more accessible than what it was on the C64.
The 8-bit Guy YouTube channel has the biggest reach, how come David hasn't done any more technical deep dives into using the CX16? Most of it seems to be marketing type stuff, advertising new games etc. He obviously is very skilled at 6502 assembly, why not have a few tutorial videos?
Re: A plea to the dev team
There are actually at least five different sets of programming tutorials for the Commander X16 on YouTube. The real problem is that, with the exception of someone working with his own hand-built C compiler which doesn't support two parallax tile fields, none of the tutorials was made (or updated) since after the public release of actual physical hardware. I'm even certain Silthy Matt's VERA address table for VPOKE is absolutely all wrong now.
Re: A plea to the dev team
You can use all of the 65C02 opcodes except the RMB/SMB/BBS/BBR opcodes. Those are Rockwell extensions for the 2A03 version of the chip that's in the NES, and they were incorporated into the 65C02S from WDC (which is the version currently sold, and the version that's in the X16).
Re: A plea to the dev team
Arguably you can use all the 65c02 opcodes, your app just wont work for people who put a '816 in their machine or for a hypothetical change in a machine that hasn't yet been released.
So the question is more for the dev, do you care bout that?
So the question is more for the dev, do you care bout that?
Re: A plea to the dev team
To find out how to detect the processor in the X16 using assembler, see Ed's thread "Naming the computer/software" here -viewtopic.php?t=7521
Pretty easy of you want to create a universal PRG that will run on every machine. I'm unsure if the cost of coding such a solution is worth the benefits it would create. Comments?
The original thread was about not breaking the first 1000 production machines that shipped. I suspect those people who bought them are probably the people who will be developing most of the software that will ever ship for it. Not isolating that group would be ideal.
Pretty easy of you want to create a universal PRG that will run on every machine. I'm unsure if the cost of coding such a solution is worth the benefits it would create. Comments?
The original thread was about not breaking the first 1000 production machines that shipped. I suspect those people who bought them are probably the people who will be developing most of the software that will ever ship for it. Not isolating that group would be ideal.
Re: A plea to the dev team
Sorry to interrupt, but the NES's 2A03 was manufactured by Ricoh and contains only the original 6502 instruction set, with none of the newer opcodes the 65c02 has. Another difference with the 2A03 is, decimal mode does not function and therefore the D flag has no effect.
Re: A plea to the dev team
IIRC correctly, the Rockwell opcodes were for a modem ... it's possible that it had I/O memory mapped into part of the zero page.kelli217 wrote: ↑Tue May 21, 2024 9:47 pmYou can use all of the 65C02 opcodes except the RMB/SMB/BBS/BBR opcodes. Those are Rockwell extensions for the 2A03 version of the chip that's in the NES, and they were incorporated into the 65C02S from WDC (which is the version currently sold, and the version that's in the X16).
Until the X16 console processor choice is nailed down, any use of RMB/SMB/BBS/BBR ideally ought to be restricted to low level subroutines that you can relatively easily replace with BIT/TRB/TSB equivalents.
Free use can be made of any other 65C02 opcode, the W65C02 and W65816 are the only 65xx processors still in production, and both can run fine using those codes.
Re: A plea to the dev team
I agree. My development for the X16 has come to a dead stop while I wait for this uncertainty to end.
The whole joy and purpose of these types of systems is that they're all the same. Now we've got the possibility of incompatible system software versions and even different CPUs with different instructions. And all of this is delaying the console version and a wider audience for creators. The dev team seems to have lost the plot.
The whole joy and purpose of these types of systems is that they're all the same. Now we've got the possibility of incompatible system software versions and even different CPUs with different instructions. And all of this is delaying the console version and a wider audience for creators. The dev team seems to have lost the plot.