Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > C64 Compatibility with C128 in depth
2023-09-30 23:31
Mr SQL

Registered: Feb 2023
Posts: 159
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....
 
2023-10-02 11:44
Fungus

Registered: Sep 2002
Posts: 750
CMOS doesn't usually have that problem, they are open drain iirc. That would make the disk drives blow up if that was the case, and maybe some of the old chips do, but the later ones don't.
2023-10-02 12:01
tlr

Registered: Sep 2003
Posts: 1814
Quote: CMOS doesn't usually have that problem, they are open drain iirc. That would make the disk drives blow up if that was the case, and maybe some of the old chips do, but the later ones don't.

CMOS, where? CMOS is mostly push-pull. C=Complementary.

The IEC bus does have open collector drivers through the use of TTL 7406 buffers. But some of the NMOS in/outs of the CIAs have at least some push-pull capability.
2023-10-02 12:38
chatGPZ

Registered: Dec 2001
Posts: 11523
There is no problem at all with setting the DDR to whatever value. Common practise too :)

That said, he missed one thing, which is in practise more of a problem than the extra bit in the CPU port: The connection of SRQIN and Tape Read can cause weird problems, when a drive that uses SRQIN is connected (ie 1571)
2023-10-02 15:30
ws

Registered: Apr 2012
Posts: 251
Can someone with a C128 check if, if you type LOAD and press Enter in C64 Mode and then press Caps Lock instead of the Play button on the datasette, does the ROM routine see that as a confirmation that Play has been pressed on Tape?

(That would be a bug, i guess)

Further, does the pressing of the play button on tape still get confirmed with the LOAD comand, if Caps Lock is pressed?

If not so, that could be considered a bug (in the Kernel).
2023-10-02 15:41
chatGPZ

Registered: Dec 2001
Posts: 11523
No need to try, just look at the code
http://unusedino.de/ec64/technical/aay/c64/romea31.htm
http://unusedino.de/ec64/technical/aay/c64/romf875.htm
http://unusedino.de/ec64/technical/aay/c64/romfba6.htm
http://unusedino.de/ec64/technical/aay/c64/romfcca.htm

It all does proper bit operations, so no problem with the extra bits
2023-10-02 15:43
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).
2023-10-02 18:58
Mr SQL

Registered: Feb 2023
Posts: 159
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.
2023-10-02 19:03
Mr SQL

Registered: Feb 2023
Posts: 159
Quoting ws
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).




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.
2023-10-02 19:08
Mr SQL

Registered: Feb 2023
Posts: 159
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.
2023-10-02 19:09
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.
Previous - 1 | 2 | 3 | 4 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
psych
Matt
Knobby/Role
Jazzcat/Onslaught
Colt45RPM
JEZ
Guests online: 186
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Codeboys & Endians  (9.7)
4 Mojo  (9.6)
5 Coma Light 13  (9.6)
6 Edge of Disgrace  (9.6)
7 Signal Carnival  (9.6)
8 Wonderland XIV  (9.5)
9 Uncensored  (9.5)
10 Comaland 100%  (9.5)
Top onefile Demos
1 Nine  (9.7)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.5)
6 Scan and Spin  (9.5)
7 Onscreen 5k  (9.5)
8 Grey  (9.5)
9 Dawnfall V1.1  (9.5)
10 Rainbow Connection  (9.5)
Top Groups
1 Artline Designs  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Performers  (9.3)
5 Censor Design  (9.3)
Top Fullscreen Graphicians
1 Joe  (9.7)
2 Sulevi  (9.6)
3 The Sarge  (9.6)
4 Veto  (9.5)
5 Facet  (9.5)

Home - Disclaimer
Copyright © No Name 2001-2025
Page generated in: 0.045 sec.