A plea to the dev team

Chat about anything CX16 related that doesn't fit elsewhere
Wavicle
Posts: 284
Joined: Sun Feb 21, 2021 2:40 am

Re: A plea to the dev team

Post by Wavicle »

encw wrote: Sun Jul 07, 2024 1:58 am 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.
I don't think that the X16 is the right system for you. For some time now a system with a variable amount of RAM and possibly a second VIA has been the plan. Now there are two different FM chips and those purchasing an X16 don't know which they will get. Switching CPUs is little different from adding RAM, or a VIA, or the FM chip. Anybody with a bit of patience and a thin wedge tool can do it.

This will not be the case with the next gen machine. Swapping parts will require a hot air rework station or some skill with a desoldering alloy like ChipQuick. A decision needs to be made for the next gen. I'm sorry that the process of making an informed decision comes with difficulty, but that's engineering.

The only thing a dev needs to do to remove the uncertainty is: develop for the 65C02 less the Rockwell instructions; no more than 512K banked RAM; don't use the VIA2 timer; and don't use the YM timer. As far as hardware goes, that will work on all systems. If that is too restrictive, this was probably never the right machine for you.
Ed Minchau
Posts: 503
Joined: Sat Jul 11, 2020 3:30 pm

Re: A plea to the dev team

Post by Ed Minchau »

If we're only using the 6502 commands then there is no point in using the 65816 at all. It isn't just the 32 Rockwell commands we can't use because they won't work on a 65816. We can't use 57 commands that are unique to the 65816 either, because they won't work on a machine with a 65c02. We wouldn't be using the full power of either processor. So why bother?
User avatar
ahenry3068
Posts: 1136
Joined: Tue Apr 04, 2023 9:57 pm

Re: A plea to the dev team

Post by ahenry3068 »

Ed Minchau wrote: Mon Jul 08, 2024 8:11 pm If we're only using the 6502 commands then there is no point in using the 65816 at all. It isn't just the 32 Rockwell commands we can't use because they won't work on a 65816. We can't use 57 commands that are unique to the 65816 either, because they won't work on a machine with a 65c02. We wouldn't be using the full power of either processor. So why bother?
I don't see the problem really. The 4 Rockwell instructions are easily worked around. The 65816 instructions on the other hand. Well If you have a need then let er rip. I've written software already that "requires" 2 mbs. If you need 65816 code to make your app viable, then develop to the 65816. Try to make your program fail gracefully if someone trys to run it on 65c02 hardware.
DragWx
Posts: 342
Joined: Tue Mar 07, 2023 9:07 pm

Re: A plea to the dev team

Post by DragWx »

Ed Minchau wrote: Mon Jul 08, 2024 8:11 pm If we're only using the 6502 commands then there is no point in using the 65816 at all. It isn't just the 32 Rockwell commands we can't use because they won't work on a 65816. We can't use 57 commands that are unique to the 65816 either, because they won't work on a machine with a 65c02. We wouldn't be using the full power of either processor. So why bother?
That's not quite right; we are allowed to use the 65816 features. It's meant to be a 16-bit upgrade, not just a drop-in replacement in case the 65c02 goes away. We all have the understanding that a 65c816 is required if you want to run 16-bit programs. The only thing we were asked was to avoid RMB, SMB, BBR, and BBS in 8-bit programs, so that the much larger 8-bit library can still run on upgraded 16-bit X16s.
User avatar
Yazwho
Posts: 167
Joined: Fri Feb 19, 2021 2:59 pm
Contact:

Re: A plea to the dev team

Post by Yazwho »

DragWx wrote: Mon Jul 08, 2024 9:40 pm That's not quite right; we are allowed to use the 65816 features.
You're allowed to use anything you want to. 65c02 or 65816 instructions. Its your machine. It just might not work on other peoples machine. You just have to ask yourself, do you care if it doesn't work on some peoples machines, or in a hypothetical future?

I say write what you want to for your machine and enjoy it.
encw
Posts: 25
Joined: Sat Oct 28, 2023 7:06 am

Re: A plea to the dev team

Post by encw »

Don't worry if it doesn't run on other people's machines?? The problem is that we were promised more than just a hobby machine.

I remember David talking about wanting to create a decent sized commercial ecosystem for cartridge games on the console version. That's what interests me. I'd LOVE to write a commercial, high quality game in assembly to sell on cartridges. I grew up with the Sega Genesis, and working on something similar would be amazing.

So is the console version going to have 65C02 or the 65816? Are future VERA changes going to break stuff we write now? What is the sound situation on the console version -- will it be consistent across all units?

Will the Commander team keep the system software for the console version the same throughout the console run? Or are they going to do something stupid like make changes after console units have been shipped and create incompatibility in the console space. They should design it such that users aren't supposed to update the system.

I hope those downplaying the concerns on this thread can understand this perspective. Commander has had 5 years to figure this stuff out, not just the technical questions, but an understanding of what developers need from them -- a consistent vision and stable interfaces. Saying "just don't use these features because we can't provide standardized hardware" is not good enough.
DragWx
Posts: 342
Joined: Tue Mar 07, 2023 9:07 pm

Re: A plea to the dev team

Post by DragWx »

I'm interested in developing games and other fun software too, not just tinkering-related things, so I hear you on that.

The last I heard, Gen 2 (the console) and onward is planned to have a 65816.

The only major VERA update I'm aware of is the FX update. The FX features were added such that they don't interfere with the original VERA, so programs written before the update will still work. Since it's just a firmware update, I think it's safe to assume VERA FX is standard and that we don't have to worry about compatibility with VERA non-FX.

I think we're past all of the rug-pulling moments (the 65816 compatibility being the last one), and judging by T8BG's most recent X16 presentation at VCF, the focus is now on expansion cards.

At some point, some combination of expansion cards will become standard and will be incorporated directly into Gen 2, but we don't need to worry about that just yet; software that doesn't use expansion cards will run on Gen 2 just fine.

Wavicle outlined what to do to be compatible with everything:
Wavicle wrote: Mon Jul 08, 2024 5:42 am develop for the 65C02 less the Rockwell instructions; no more than 512K banked RAM; don't use the VIA2 timer; and don't use the YM timer. As far as hardware goes, that will work on all systems.
We can use this as a promise. A generic X16 system is a board:
  • with a 65c02 that can be upgraded to a 65816 -- Using 65816 features is OK, don't use the 65c02's RMB, SMB, BBR, and BBS instructions (but everything else is OK).
  • has no expansions -- No expansion ram, no optional components, no expansion cards.
  • has either a YM2151 or YM2164 -- These are 99% identical to each other, except for how the timer works, and where the "LFO Reset" register is; two things that are easy to not need.
Software developed for this target will function now and into the future.
kelli217
Posts: 531
Joined: Sun Jul 05, 2020 11:27 pm

Re: A plea to the dev team

Post by kelli217 »

There's a baseline. And then there are a series of options that you can choose to support or not. There are a few minor concessions that a program written for the baseline need to follow in order to maintain compatibility with systems that do have the options installed.

Any of you folks remember how it was with the Amiga? The 68000 processor had 32-bit address registers but only had 24 address lines (counting the lower/upper significant bit [LSB/USB] line). So some people used the upper 8 bits for other uses, or didn't pay attention to what happened to them in the event of overflows or underflows and treated them haphazardly. This was highly discouraged, as by the time the Amiga was on the market, the 68020 was already available and had a full 32 bit address bus, and ways to use it in Amigas were already being developed. So... developers were asked not to do that, even if Commodore only had 68000 machines on the market at the time.

This is that. This is 8-Bit Productions asking you not to use the bitwise Rockwell instructions, even though they're part of the hardware that's currently being shipped, because it helps make your software compatible with future hardware.
Ed Minchau
Posts: 503
Joined: Sat Jul 11, 2020 3:30 pm

Re: A plea to the dev team

Post by Ed Minchau »

kelli217 wrote: Thu Jul 11, 2024 6:24 pm This is that. This is 8-Bit Productions asking you not to use the bitwise Rockwell instructions, even though they're part of the hardware that's currently being shipped, because it helps make your software compatible with future hardware.
In that case, let's ditch the 65c02 right now, just ship with the 65816.

Remember those coil bound books? Without a stable platform nobody can write one for the x16. So let's stop screwing around with a processor that isn't going to be used in future versions. Ditch it now.
TomXP411
Posts: 1781
Joined: Tue May 19, 2020 8:49 pm

Re: A plea to the dev team

Post by TomXP411 »

Ed Minchau wrote: Thu Jul 11, 2024 6:40 pm
kelli217 wrote: Thu Jul 11, 2024 6:24 pm This is that. This is 8-Bit Productions asking you not to use the bitwise Rockwell instructions, even though they're part of the hardware that's currently being shipped, because it helps make your software compatible with future hardware.
In that case, let's ditch the 65c02 right now, just ship with the 65816.

Remember those coil bound books? Without a stable platform nobody can write one for the x16. So let's stop screwing around with a processor that isn't going to be used in future versions. Ditch it now.
Several of us have suggested just that. I suggest popping in to the Discord and making your thoughts known to David in the hardware channel.
Post Reply