Geht auch auf dem Rechner nicht.
Ich habe es mal damit probiert:
https://codebase64.net/doku.php?id=ba…e_-_safe_method
Leider auch kein zuverlässiges Ergebnis!
Auf dem basiert der BASIC Code denke ich.
You need to be a member in order to leave a comment
Already have an account? Sign in here.
Sign In NowSign up for a new account in our community. It's easy!
Register a new accountGeht auch auf dem Rechner nicht.
Ich habe es mal damit probiert:
https://codebase64.net/doku.php?id=ba…e_-_safe_method
Leider auch kein zuverlässiges Ergebnis!
Auf dem basiert der BASIC Code denke ich.
Ein Erkennen des SIDs per Software geht wohl nur bei Nachbauten.
? PEEK (65408) ergibt 170 (V1) oder 0 (V2) bei älteren KERNAL-Versionen und 3 (V3) bei neueren (C64C/G) ob das wirklich genau ist?
Ich habe mal die KI befragt die meint:
10 S=54272:REM SID BASIS
20 FOR I=0 TO 24:POKE S+I,0:NEXT:REM RESET
30 POKE S+14,255:POKE S+15,255:REM FREQUENZ VOICE 3 MAX
40 POKE S+18,33:REM MIX: SAEGEZAHN + DREIECK + GATE
50 FOR I=1 TO 500:V=PEEK(S+28):IF V>0 THEN GOTO 100
60 NEXT I
70 PRINT "ERGEBNIS: MOS 6581 (OLD SID)"
80 PRINT "GRUND: KEIN SIGNAL BEI WELLEN-MIX (TYPISCH 6581)":END
100 PRINT "ERGEBNIS: MOS 8580 (NEW SID)"
110 PRINT "GRUND: STABILES LOGISCHES 'AND' ERKANNT"
funktioniert zumindest im Vice nicht.
Ich denke das BASIC auch zu langsam ist.
Beim PET ist die Situation bei mir anders. Da ist der deutsche Character-ROM fest eingebaut, umschaltbar zwischen diesem und dem Original-ROM per POKE.
Genau das meine ich.
Zwei Fragen dazu:
- Benutzt das PET CHARROM das selbe Mapping für die Umlaute?
- weißt du mehr über deine dual CHARROM Modifikation in deinem Gerät?
Das ist ja super, das wird ja scheinbar ein Commodore Multiplatform Dingen.
PET/ CBM3032, VC-20 und C64 wenn ich das richtig verfolgt habe. Beim PET bräuchte man dann axorp 's modifizierten ROMs (Character und ggf. Editor für Umlaute) damit deine Shell und der Wordprozessor funktioniert.
Ich habe nach deiner Empfehlung den Gegenwert eines mittelguten Whisky dem "lichtblick" gespendet.
Danke!
Da die Aktion Lichtblicke regional ist und sie vermutlich viele nicht kennen möchte sie mal vorstellen:
Die Aktion Lichtblicke ist die gemeinsame Spendenaktion der NRW-Lokalradios und der kirchlichen Hilfswerke Caritas und Diakonie. Seit 1998 werden Spenden für Kinder und Familien in Not gesammelt. Schnelle und unbürokratische Hilfe ist hiermit möglich: von Beihilfen für Bekleidung oder Einrichtungsgegenständen über Essensgeld für Schulkinder bis hin zur Soforthilfe bei Wohnungsbränden. Die örtlichen Einrichtungen der Caritas und der Diakonie prüfen die Notlage bzw. Bedürftigkeit der Kinder und Familien und gewährleisten, dass die vom ehrenamtlichen Spendenbeirat bewilligten Gelder auch dort ankommen, wo sie benötigt werden. Die 44 Lokalradios im Lande berichten regelmäßig über Fälle in denen LICHTBLICKE helfen konnte.
Wer wird gefördert?
Gefördert werden Kinder und Jugendliche im Alter bis 21 Jahren, die in Nordrhein-Westfalen wohnen und deren Notlage von keinem anderen Kostenträger ausgeglichen wird. Anträge müssen von einem örtlichen Wohlfahrtsverband bzw. deren Einrichtung gestellt werden. Diese verwalten auch die bewilligten Gelder und stellen deren ordnungsgemäße Verwendung sicher.
Wie wir helfen › Aktion Lichtblicke e.V.
https://www.radiohochstift.de
Mir gefällt besonders an der Aktion Lichtblicke das die Hilfen Regional eingesetzt werden statt in der ganzen Welt verteilt werden. Da es leider auch hier in Deutschland immer wieder Personen gibt, die unverschuldet in Not geraten, meistens sind es es Kinder und der deutsche Staat tut nichts!
Ich denke jeder Loader sollte ausgelesene Werte von dem zu ladenden Programm enthalten.
Im Direktmodus werden diese automatisch beim Laden bestimmt.
Wird LOAD von einem Programm aufgerufen versucht das System so wenig wie möglich zu verändern, da davon ausgegangen wird, das Daten (z.B. ein Font, Sprites, Grafikdaten, Musikdaten, oder Maschinensprachcode) an eine feste Adresse außerhalb der BASIC Bereichs geladen wird.
Sonstige Daten werden eher aus SEQ und REL-Dateien mit den entsprechenden Befehlen eingelesen.
Ich probiere das heute Abend mal aus.
Relevant für die Verschiebung sind die BASIC-Start Adressen 43 und 44.
Habe Umlaute in die Shell integriert. Funktioniert wie gehabt, allerdings bleiben die Probleme mit dem Loader.
Das Umlaute-Programm blockiert wohl den oberen Speicherbereich.
Eigentlich ist nach oben alles offen, Ich vermute das dein Loader den auf $1A00 6656 hochgesetzten BASIC Start überschreibt.
Wie du an LOADGER.PRG sehen kannst lade ich dort sogar den Zeichensatz mit LOAD nach.

Dann stellt sich doch dir Frage ob man die Umlaute nicht mit der Shell kombiniert statt mit dem Programm.
Eine Frage die sich dazu stellt, wie gut passt die Shell zu Groß- und Kleinschrift?
Heute früh wollte ich mich an die Arbeit machen, war gerade dabei, die Position von"ä" testweise zu ändern. Dann habe ich aber noch einmal auf dieser Seite nachgesehen und festgestellt, dass du die ganze Arbeit schon gemacht hattest. Vielen Dank!! Ich habe alles eingebaut und es läuft hervorragend!
Kann ich dir als Dank eine Flasche Whisky zukommen lassen?
Kein Dingen es hat mir Spaß gemacht mir mal den VC20 etwas genauer anzusehen, und da die 64er ja eine 95% fertige Lösung geliefert hat war das eine Fingerübung die passenden Screencodes zu finden.
Da ich kein großer Fan von alkoholischen Getränken bin würde es mich freuen, wenn du den Gegenwert der Flasche an https://lichtblicke.de spendest.
Mich würde jetzt noch interessieren, wie du das eingebaut hast, im WORT2GER.PRG habe ich ja bereit dein Mapping mit deinem WORT2.PRG Programm kombiniert.
Was mich an dieser Lösung noch stört ist, dass etwa 8 Blöcke bzw. 2KByte zwischen dem normalen BASIC-Start und dem verschobenen BASIC-Start frei sind dort befindet sich derzeit nur die Zeile 1, die auf den anderen Bereich umschaltet. Dort passt fast der ganze Zeichensatz hinein, wenn man bedenkt das dieser zu 50% redundant ist (inverse Darstellung), so könnte man dort sogar den ganzen Zeichensatz ablegen wenn man beim kopieren die 2 Kopie einfach invertiert. Da dein Programm quasi nur Text nutzt könnte man aus den ungenutzten Grafikzeichen noch ein Logo bauen.
Das Ganze würde ich dann wohl am einfachsten mit einem Hex-Editor zusammenbauen.
Alternativ könnte am den Speicher auch nutzen um 2-3 Hilfe Seiten abzulegen, oder 1 Hilfeseite und einen Zwischenspeicher für den Bildschirminhalt um Ihn nach dem Anzeigen wiederherstellen zu können.
WORT2GER.PRG wie dein WORT2.PRG nur mit hoffentlich richtigem Umlautemapping integriert.
DEUTZEI.PRG Beispiel von der 64er "aktiviert".
CHARLOAD.PRG lädt die 64er Umlaute aus CHAR.SEQ "aktiviert".
AGUETUL.PRG 64er Beispiel angepasst auf Aguetul Mapping "aktiviert".
LOADGER.PRG lädt die Aguetul Umlaute aus CHARSETGER mit LOAD Befehlt, was schneller geht als mit Basic und einer Sequentiellen Datei "aktiviert".
Alle * SOURCE.PRG sind nicht "aktivierte" Versionen. siehe #6
Der VC20 wird nicht mein Freund werden, die Auflösung ist einfach schrecklich, da war ja der ZX81 mit seinen 32x24 Zeichen noch ein Stück besser.
![]()
Da mir DEUTZEI nicht gefällt habe ich es in GERMAN umbenannt.
TEST SOURCE.PRG ist meine Modifizierte Variante von WORT2.PRG.
Ich habe mal die Variante die CHAR.SEQ von Diskette nachlädt auf das Disk Image gepackt.
CHARLOAD SOURCE.PRG zeigt wie es geht.
CHARLOAD.PRG ist nach der Anleitung so modifiziert das es den BASIC Loader hat der die Vectoren anpasst und dann das Programm ausführt.
Ä ist chr$(219) Zeichenposition: 91 Variable AG
Ö ist chr$(220) Zeichenposition: 92 Variable OG
Ü ist chr$(221) Zeichenposition: 93 Variable UG
ä ist chr$(91) Zeichenposition: 27 Variable AK
ö ist chr$(92) Zeichenposition: 28 Variable OK
ü ist chr$(93) Zeichenposition: 29 Variable UK
ß ist chr$(94) Zeichenposition: 30 Variable SS
Die Formel für die POKEs lautet:
4096+(Zeichenposition*8)
Beispiel ä 4096+(27*8)=4324
Beispiel Ä 4096+(91*8)=4824
Für Invers:
5120+(Zeichenposition*8)
Tabelle für Zeichenpositionen:
VIC-20 / Commodore 64 SuperChart | C64 OS
Display MoreWow! Nur dieses Chr$(14)!!
Mit dieser Lösung kann ich arbeiten!
Jetzt muss ich nur noch den Characterset so hinbiegen, dass er zu den Tastenbelegungen des Programms passt:
* : Ä und ä
@ : Ü und ü
Pfund-Zeichen: Ö und ö
ß passt bereits
Das Ö kann ich bei der derzeitigen Belegung nicht finden!
Hier werden alle Zeichen zweimal angezeigt.
Es sind die Grafikzeichen die auch bei Groß & Kleinschreibung möglich sind also das große +, | und das halbe Raster.
So habe es mir angeschaut.
Du hast zwei Möglichkeiten:
Du lädst zuerst GERMAN.PRG und startest es.
Dann lädst du WORT2.PRG und startest es.
Oder alternativ habe ich beide Programme zusammen gebaut TEST.PRG
Das Problem war das PRINT CHR$(14) in der ersten Zeile.
Ich weiß nicht warum, aber mit einem eigenen Zeichensatz scheint es auf Set 1 (Groß + Grafik) statt wie es eigentlich sollte auf Set 2 (Groß & Klein) umzuschalten. Da Set 1 nicht definiert ist kommt nur Müll.
Die Umschaltung ist aber gar nicht notwendig da sich der VC20 bereits im Groß & Klein Modus befindet.
Da das Program welches den deutschen Zeichensatz lädt mit POKE 657,128 in den Groß & Klein Modus schaltet. Daher habe ich es einfach auskommentiert.
Das nette daran so hat man automatisch noch einen Listschutz.
Da ein List nach dem Laden nur eine Zeile anzeigt.
Wenn du es mir zur Verfügung stellst schaue ich gerne mal warum das so ist.
Alo bei mir funktioniert das zumindest das Original.
Für mehr hatte ich keine Zeit.
Das die entsprechend behandelte Version vom DEUTZEI.PRG habe ich als GERMAN.PRG abgespeichert.
Schalte ich jetzt den VC20 an lege diese Diskette ein und tippe LOAD"*",8 [RETURN] ein.
Dann starte ich es mit RUN [RETURN]
Mir werden die neuen Zeichen angezeigt.
Ich tippe ein LOAD"TEST",8 [RETURN]
und starte dann mit RUN [RETURN] und mein Testprogram zeigt ebenfalls Umlaute.
Hab es gerade im Online Emu probiert aber der ist zu intelligent und ändert immer die RAM Konfiguration auf eine unpassende.
Auch dieser benötigt diese seltsame Speicher- und Ladeorgie.
Es würde mir helfen wenn du einfach mal dein Basic Programm zur Verfügung stellst dann kann ich selbst einmal testen.
Dein später geladenes BASIC Program muss nach $1A00 geladen werden nicht wie üblich nach $1200.
Ein Druck auf RUN STOP/RESTORE ist böse und macht das ganz kaputt.
POKE 36869,236:POKE 648,24:CLR bringt es wieder in Ordnung.
Angehängt ist die PRG für den VC-20.
Hab doch gesagt ein nachladen klappt nicht, Du musst es integrieren.