Commodore 128 Alive!

Commodore 128 => 128 programmers => Topic started by: MIRKOSOFT on June 17, 2009, 04:50 AM

Title: How to recognize on which C128 type (Standard, German....) my program runs?
Post by: MIRKOSOFT on June 17, 2009, 04:50 AM
Hi!

I have German C128DCR. It's not problem to recognize it when I work.
But HOW TO RECOGNIZE WHICH COMPUTER IS USED IN BASIC/ML CODE?
Is any PEEK or st. that when I RUN my application on other C128, it will recognize its type?
Thanks for reply.

Miro
Title: Re: How to recognize on which C128 type (Standard, German....) my program runs?
Post by: MIRKOSOFT on June 17, 2009, 05:11 PM
Hi!

I got reply on Forum64 that type of machine is at addresses $CFF8, $CFF9, $CFFA, $CFFB and results were:
PEEK addresses recognized machine type in BANK 12 to BANK 15:
INTERNATIONAL: 255/255/255/255
FRENCH: 17/2/255/255
ITALIAN: 17/6/255/255
NORWEGIAN: 17/5/255/255
SWEDISH: 8/4/91/188
but not recognized btw. INTERNATIONAL and GERMAN and FINISH, output was of all three languages:
255/255/255/255
So, now only to know recognize FIN/GER machine type...

Have somebody any idea?
Thanks for reply.

Miro
Title: Re: How to recognize on which C128 type (Standard, German....) my program runs?
Post by: Alex on June 18, 2009, 06:03 AM
The simple answer would be to get all Kernal ROMs from all language version and compare them. If comparison shows any differences than you have a simple but not bulletproof method.
Title: Re: How to recognize on which C128 type (Standard, German....) my program runs?
Post by: Alex on June 22, 2009, 05:18 AM
BTW: check this page out: http://www.cbmhardware.de/c128/firmware/index.html (http://www.cbmhardware.de/c128/firmware/index.html) for different language versions.
Title: Re: How to recognize on which C128 type (Standard, German....) my program runs?
Post by: MIRKOSOFT on June 27, 2009, 07:26 AM
Hi!

It works with PEEKS:

ifpeek(53244)=255andpeek(53245)=255andpeek(53246)=0andpeek(53247)=195thenprint"International version 0 (old version from 1985)"
ifpeek(53244)=22andpeek(53245)=171andpeek(53246)=1andpeek(53247)=188thenprint"International intermediate version between version 0 and 1"
ifpeek(53244)=118andpeek(53245)=143andpeek(53246)=1andpeek(53247)=60thenprint"International version 1 (new version used from 1986 and onwards)"
ifpeek(53244)=158andpeek(53245)=182andpeek(53246)=1andpeek(53247)=47thenprint"Swedish"
ifpeek(53244)=255andpeek(53245)=8andpeek(53246)=65andpeek(53247)=135thenprint"Finnish"
ifpeek(53244)=255andpeek(53245)=255andpeek(53246)=1andpeek(53247)=67thenprint"French"
ifpeek(53244)=255andpeek(53245)=255andpeek(53246)=1andpeek(53247)=207thenprint"German"
ifpeek(53244)=255andpeek(53245)=255andpeek(53246)=1andpeek(53247)=173thenprint"Italian"
ifpeek(53244)=255andpeek(53245)=255andpeek(53246)=1andpeek(53247)=15thenprint"Norwegian"
2300 ifpeek(53244)=17andpeek(53245)=150andpeek(53246)=1andpeek(53247)=3thenprint"Danish"

and...

ifpeek(53465)=48thenprint"International"
ifpeek(53465)=24thenprint"Swedish/Finnish"
ifpeek(53465)=40thenprint"Danish/Norwegian"
ifpeek(53249)=66thenprint"German"
ifpeek(53249)=34thenprint"French/Belgian/Italian"

I attached also hardware-info program that I reprogrammed and added any recognizing options. Works not correctly in VICE.
EhPortal 1.34 © 2025, WebDev