| |
Mr SQL
Registered: Feb 2023 Posts: 158 |
C64 Compatibility with C128 in depth
Very educational video on 8-bit show and tell:
http://www.youtube.com/watch?v=Ial2VSAu7tw
Robin illustrates using the built-in dissembler/Editor Assembler to correct hotspots where the C128 is incompatible with the C64.
The C128 is still closely compatible for having enhancements to the same hardware. I remember when the CoCo III came out the GIME did not fully emulate the 6847 VDG creating more incompatibilities, particularly with the semigraphics modes.
Interesting commentary at the end of the video regarding the C64 mode being better for game development. |
|
... 25 posts hidden. Click here to view all posts.... |
| |
ws
Registered: Apr 2012 Posts: 251 |
Yeah. Tested it in VICE, works fine, so: no bug, the BASIC check in the Video is simply not the way to go. "Didn't know" doesn't really count (also since the info has long been available). |
| |
Mr SQL
Registered: Feb 2023 Posts: 158 |
Quote: it's the "caps lock" not "shift lock" key.
It's a tricky one as you could fix it with writing $6F to 0, but then if the person just so happens to have caps lock engaged it would damage the CPU.
Can't Bit 4 change as well? Does a datacassette nominally put out a 1 or tri-state unless being actively driven by Tape data?
Perhaps this was done to distinguish it on the C128.
On the C64 shift-lock is indistinguishable from left shift, it uses the same keyboard matrix. |
| |
Mr SQL
Registered: Feb 2023 Posts: 158 |
Quoting wsYeah. Tested it in VICE, works fine, so: no bug, the BASIC check in the Video is simply not the way to go. "Didn't know" doesn't really count (also since the info has long been available).
Quoting Fungus
Yes Robin said he intentionally wrote the program to demonstrate the bug. You misinterpret things when you glaze over stuff thinking you're right by default and the other person is wrong.
Who says you cannot rely on default values?
There are many ways to code and I've used both methods in programming Atari 2600 demos many times for speed or space constraints. I also prefer to use flags on the processor and the BIT instruction to check bit's 6 and 7 because it's faster than a bit mask.
I think the real hardware is always best for testing. I also use VIC 2.4 for testing as it's widely distributed and it has a bug where shift-lock is not mapped like the left shift key. That bug is corrected in later versions. |
| |
Mr SQL
Registered: Feb 2023 Posts: 158 |
Quoting Fungus
I missed the fact initially that the C128 has more stuff connected to the CPU port. I don't program the 128, nor do I care about it or issues related to it because my personal opinion is that it should have never been made and is an abomination. It's a miracle the thing even works (and sometimes doesn't).
This is an interesting point, Robin has a related observation later in the video that the C64 is better for game programming. I think the C128 was overshadowed by the C64 because it was already a great machine and had market share of the home computer userbase.
Would you like the C128 more if there were no compatibility issues in C64 mode?
I was reading the Compute manual and like the fact that the new 6502 variant has a Direct Page that is moveable like the 6809 instead of having to stay on the zero page, that is a great programming feature for enhanced C64 programming. |
| |
ws
Registered: Apr 2012 Posts: 251 |
Quote: Who says you cannot rely on default values?
Well, ofcourse you can rely on default values. But it is merely close to a hack then. If undesired behaviour of the code occurs, that experience itself tells the coder, that the code is suboptimal - and it is not a bug or quirk of the system/kernel. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11499 |
Quote:I was reading the Compute manual and like the fact that the new 6502 variant has a Direct Page that is moveable like the 6809 instead of having to stay on the zero page, that is a great programming feature for enhanced C64 programming.
What are you talking about? That's a MMU feature, it has nothing to do with the CPU. It can't be used in C64 mode either. |
| |
oziphantom
Registered: Oct 2014 Posts: 502 |
Quoting Mr SQLPerhaps this was done to distinguish it on the C128.
On the C64 shift-lock is indistinguishable from left shift, it uses the same keyboard matrix.
No.
The Shift-Lock key on a C128 is identical in every way to the C64 Shift-Lock Key. Otherwise it wouldn't work on the C64 Kernal or with games. As it is still wired to the Shift key and is in the same position on the keyboard. You can also do the fancy trick to detect Shift-Lock vs Shift on a 128 just fine. It is 100% identical.
The Caps-Lock key is a 128 only key and is not visible to the C64 Kernal, as it performs a Caps Lock operation not a Shift Lock operation it is has very different functionality. |
| |
Mr SQL
Registered: Feb 2023 Posts: 158 |
Quoting chatGPZQuote:I was reading the Compute manual and like the fact that the new 6502 variant has a Direct Page that is moveable like the 6809 instead of having to stay on the zero page, that is a great programming feature for enhanced C64 programming.
What are you talking about? That's a MMU feature, it has nothing to do with the CPU. It can't be used in C64 mode either.
Thanks I thought it was a modification directly to the new 6502 variant. It seems to have the same function for the CPU as the one built into the 6809 where you can change the direct page to any of the 256 pages to use zero page addressing there.
On the CoCo III the MMU was limited to manipulating 8K blocks, I'll have to finish reading the guide but it sounds like the MMU is more versatile on the C128. |
| |
Mr SQL
Registered: Feb 2023 Posts: 158 |
Quote: Quoting Mr SQLPerhaps this was done to distinguish it on the C128.
On the C64 shift-lock is indistinguishable from left shift, it uses the same keyboard matrix.
No.
The Shift-Lock key on a C128 is identical in every way to the C64 Shift-Lock Key. Otherwise it wouldn't work on the C64 Kernal or with games. As it is still wired to the Shift key and is in the same position on the keyboard. You can also do the fancy trick to detect Shift-Lock vs Shift on a 128 just fine. It is 100% identical.
The Caps-Lock key is a 128 only key and is not visible to the C64 Kernal, as it performs a Caps Lock operation not a Shift Lock operation it is has very different functionality.
Thanks that was confusing, caps-lock and shift-lock are often synonymous. Interesting it has another function.
I'm pretty sure shift-lock uses the same keyboard matrix circuitry as the left shift and just holds it down, they should be indistinguishable if that is the case. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11499 |
Its the same in the keyboard matrix - but they still can be distinguished - see here: https://sourceforge.net/p/vice-emu/code/HEAD/tree/testprogs/CIA.. |
Previous - 1 | 2 | 3 | 4 - Next |