DT 89 1A
From C64 Diskmag Wiki
Textkonvertierung ________________________________________ Anmerkung am Rande: Auch wenn es uninte- ressant ist, wenn ich etwas wissen will, dann gebe ich keine Ruhe, bis ich es ge- packt habe. Wenn ich eine DT-Ausgabe eingebunden ha- be, muss ich ja zumindest grob testen, ob auch alles läuft. In Ausgabe 84 ist ja auch der DT-Editor. Meine Test-Textkonvertierung habe ich noch nicht gelöscht. Mit dem CCS64-Emu- lator kann man den kompletten C64-Spei- cherinhalt nach AUSSEN auf Festplatte
speichern. Das funktioniert ganz ein- fach. Der Emulator hat einen eigenen Mo- nitor, ähnlich wie das AR-Modul. Beispiel: S"Testprog" 2000 6000 Speichert den Inhalt $2000 - $6000 auf Festplatte. Diesen Bereich kann ich wie- der einladen, wohin ich will. Mit L"Testprog" 8000 lade ich die Sache ab $8000 in den C64- Speicher.
Ich habe nun einen Versuch gestartet. Den DT-Editor gestartet. Mit ALT + M in den Monitor. Probeweise habe ich vorher ein paar AAAAA's eingegeben und im Spei- cher nachgeschaut. So wusste ich, dass der Text ab $8000 anfängt. Also DT-Editor neu gestartet, mit ALT + M in den Monitor. L"Testprog" 8000 Der Test lag nun ab $8000 im C64-Spei- cher. GROSSE ENTTÄUSCHUNG!!!!!
Zurück in den DT-Editor, kein Text zu sehen. Es war Zufall!!! Probeweise ein paar Buchstaben einge- tippt. Die habe ich dann mit DEL wieder gelöscht. Was passierte? Plötzlich kam der Text im Speicher von rechts rein. Neuer Versuch. Diesmal nichts eingetippt, sondern so- fort DEL gedrückt. Der Text kam von un- ten nun Zeile für Zeile in den Editor. Natürlich noch unkonvertiert. Arbeitszeit: Etwa 1 - 2 Minuten.
Konvertierung: Wenn man zuerst einmal Fettschrift und Sonderzeichen außen vor lässt, dann ist die normale Schrift BILDSCHIRMCODE. Dez. #65 ($41 oder $61) ist ein a A oder umgekehrt (muß ich nochmal nachschauen). Ein "A" im Bildschirmcode hat den Wert $01. C64-Test: POKE 1024,1 Oben links erscheint ein A. Wenn man den Bildschirmmodus ändert, ist's ein klei- nes a.
Ich bin zwar kein Profiscener, trotzdem kann man doch in etwa herausbekommen, wie der Text im C64-Speicher abgelegt wird. Der Text war im Speicher an einem Stück (ohne Umbruchzeichen), trotzdem hat der Editor die Zeilen (wie ich meine) rich- tig angezeigt. Auch wenn es von euch keiner braucht. Mich interessiert das persönlich. Warum? Wenn ich lese, wieviele Programme ge- startet werden müssen, bis man einen einfachen Text endlich ins DT-Format konvertiert hat...
Ich möchte nur herausfinden, ob man die- se Arbeitszeit nicht doch erheblich kür- zen kann. Beispiel: Bei 90% der Einsender ist es normaler Text. Also einfache Groß-/Kleinschrift. Ein einfaches C64-Basicprogramm tut es hier schon. Text in den Speicher laden, Basicprogramm starten, Text umkonvertie- ren. Anschließend speichert man das im Emula- tormonitor wieder auf Festplatte. Danach den DT-Editor laden, diesen Text einla- den, fertig.
Beispiel: Ein a bei $8000 zeigt man mit PRINT PEEK (8000) an. Wobei 8000 natürlich dezimal eingegeben werden muss. Weiß jetzt nicht mehr genau, wie das geht (muss das erst wieder testen). Evtl. so: POKE 1024,PEEK(8000)-40 Wenn also in $8000 der Wert $41 (A) steht, wird $01 (Bildschirmcode) als A oben links angezeigt. Ein B hätte dann $42 usw. Man muss also nur mit PEEK ein- lesen, 40 abziehen und in den Speicher zurück schreiben. Das jetzt nur grob er- klärt und alles in Hexzahlen.
In Basic muss man das natürlich dezimal schreiben. So gut bin ich mit dem C64 nicht mehr vertraut. Das kommt aber dann, sonst hätte ich ja auch nicht "ANDROID" so verändern kön- nen... Mit dem CCS64-Monitor ist eine Umrech- nung hex - dez ganz einfach. ?$8000 ENTER Schon wird die Dezimalzahl angezeigt. Auch wenn Vice DER Scene-Emulator ist, für bestimmte Sachen ist der CCS64 ein- fach besser.
Unglaublich, aber wahr. Der eingebaute Freezer freezet alles. Selbst mehrere Diskseiten. Testen kann man das, wenn man im Auswahlmenü SCORES anklickt. Dann wird die gefreezete Score eingeladen. Im Prinzip kann man von da aus die kom- plette DT-Ausgabe durchblättern. Der interne Freezer ist kein normaler Freezer, wie man das vom C64 kennt. Wenn man den C64 vorher auf 2 Diskseiten einstellt und freezet, dann wird das Programm da gestartet, wo man gefreezet hat.
Ein C64-Freezer hat nur das bestimmte Programm gefreezet und gespeichert. Der interne CCS64-Freezer nimmt alles mit. Alle Diskseiten, die man vorher einge- stellt hat. Kleines Manko: Leider kann man das Freezefile nicht per Batch (Parameter) starten. Drückt man F12, speichert der Emulator ohne Vorwarnung den C64-Speicher (Disk) ab. Dieses nennt sich FREEZE.C64. Ein vorhandenes FREEZE.C64 File wird dann überschrieben.
Drückt man hingegen F11, wird immer das FREEZE.C64 File eingeladen, welches sich gerade im Ordner des CCS64 befindet. Damit die gefreezeten Scores jeder ein- zelnen DT-Ausgabe angezeigt werden, habe ich folgenden Trick angewandt: Die Scores habe ich gefreezet. Dann in Windows das FREEZE.C64 File in den ent- sprechenden Score-Ordner kopiert. Umbe- nannt in z.B. DTSCORE72.C64. Wenn man im Menü bei DT 72 SCORE an- klickt, startet ein Batch. Dieser ko- piert DTSCORE.C64 in den CCS64-Ordner
als FREEZE.C64. Dann startet ein D64-Fi- le. Ein kleines Basicprogramm, das sagt, man soll F11 drücken. Der Emulator star- tet dann das FREEZE.C64 File und zeigt die DT-Scores an. Dieser Trick funktioniert leider nur mit dem CCS64-Emulator. Ein sehr großes Manko hat der CCS64 auch noch. Der BILDSCHIRMMODUS. Vice ist da kompatibler. Selbst wenn nur ein kleines Fenster da ist. Es ist aber was da und man sieht was. Beim CCS64 habe ich die Erfahrung gemacht, dass das nicht immer so ist.
Manche PC-Systeme zeigen nur Streifen oder nichts (schwarzer Bildschirm). Dann muss der Bildschirmmodus anders einge- stellt werden. Der CCS64 hat eine Config-Datei, ähnlich wie die VICE.INI. Da kann man den Bild- schirmmodus ändern. Zwar kann man das im Emulatormenü auch, doch wenn man nichts sieht, kann man auch nichts ändern. Kultpack startet man mit START.EXE. Dort steht auch etwas über SCREEN (C64). Wenn der CCS64 kein richtiges Bild zeigt, kann man es hier einstellen.
Es ist nicht damit getan, wenn man die Config-Datei ändert. Diese wird nämlich laufend überschrieben. Warum? Jedes C64-Spiel hat evtl. eine andere Tastaturbelegung (Joystickport). Deswe- gen hat JEDES C64-Spiel eine eigene Con- fig-Datei. Startet man ein C64-Spiel, überschreibt die zugehörige Config-Datei die vorhandene. D.h., wenn der Bildschirmmodus anders eingestellt wird, müssen ALLE Config-Da- teien so eingestellt werden.
Bei z.B. 400 C64-Games müssten 400 Con- fig-Dateien geändert werden. Diese Auf- gabe übernimmt SCREEN. Wenn man also in START.EXE den Screenmo- dus ändert und das bestätigt, werden ALLE Config-Dateien geändert. Wenn man C64-Games startet und die lau- fen richtig und die Tastatureinstellung für dieses Spiel stimmt, macht man sich wahrscheinlich keine Gedanken. Ich möchte hiermit nur sagen, welche Ar- beit dahinter steckt.
Und trotzdem: Bei einem PC weiß man nie... Was bei mir richtig läuft, funktioniert anderswo vielleicht nicht. Gruß Klaus _