Welcome to Schneider / Amstrad CPC Forum. Please login or sign up.

29. March 2024, 08:07:57

Login with username, password and session length

Shoutbox

TFM

2024-01-15, 17:06:57
Momentan billige Farbbänder auf Ebay für PCW

Devilmarkus

2023-07-09, 10:37:40
Zweiter 👋😂🤣

TFM

2023-06-13, 14:21:49
Sommerloch!

TFM

2023-05-30, 17:00:20
Erster ;-)

Recent

Members
Stats
  • Total Posts: 11,655
  • Total Topics: 1,329
  • Online today: 109
  • Online ever: 1,724
  • (16. January 2020, 00:18:45)
Users Online
Users: 1
Guests: 187
Total: 188

187 Guests, 1 User
xesrjb

Dinamic-Tapeloader gehackt

Started by Devilmarkus, 29. October 2013, 19:32:23

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Devilmarkus

Hallo CPC-Freunde,

ich habe mir heute mal die Arbeit gemacht, und den Dinamic-Tapeloader gehackt.

Herausgekommen ist eine hilfreiche RSX-Erweiterung.

Sie stellt 2 neue RSX-Befehle zur Verfügung:
|SAVE,<sync>,<start>,<length> -> Speichert eine Binärdatei auf Kassette im Dinamic Format ab
|LOAD,<sync>,<start>,<length> -> Lädt eine solche Datei wieder von Kassette.

Vorteil:
- Sehr schnelles Format
- Schön bunte Balken am Border...

Nachteil:
- Man sollte sich mit dem CPC auskennen, wenn man ihn verwendet. (Wie lade ich eine Binärdatei? Wie komme ich an Startadresse und Länge der Datei?)

2 Dateien:
dinamic.dsk -> Die komplette Routine
cauldron_dinamic.cdt -> Ein Beispieltape welches ich erstellt hab.

Wie geht man nun vor?

1) Man lädt die Datei DINAMIC.BIN von der Disk. LOAD"DINAMIC.BIN" reicht!
2) Man schreibt in BASIC einen kleinen Loader: (Beispiel für Cauldron)
10 MODE 1:LOAD"!":CALL &A000
20 INK 0,0:BORDER 0:INK 1,9:INK 2,24:INK 3,6:CLS:CALL &BD19
30 |LOAD,1,&C000,&4000
40 |LOAD,1,&1800,&8656
50 INK 1,0:INK 2,0:INK 3,0:CLS:CALL &BD19
60 |LOAD,1,&C800,&3100
70 CALL &C800

3) Man speichert nun erst den BASIC-Loader auf Kassette: |TAPE:SPEED WRITE 1:SAVE"CAULDRON",p
4) Nun speichert man den Binärteil (DINAMIC.BIN) auch: SAVE"LOADER",B,&A000,&340
5) Nun muss man den Binärteil aufführen (Da der ja schon geladen ist, reicht ein CALL &A000)
6) Nun lädt man die einzelnen Dateien, welche noch auf Kassette sollen:
|DISC:LOAD"CAULDRO0.bin",&C000:|SAVE,1,&C000,&4000
LOAD"CAULDRO1.BIN",&1800:|SAVE,1,&1800,&8656
CLS:LOAD"CAULDRO2.BIN",&C800:|SAVE,1,&C800,&3100

Fertig!

(Diese Dateinamen sind nur ein Beispiel! Die variieren natürlich abhängig davon, was Ihr speichern wollt)

https://cpcwiki.de
Dein Deutsches CPCWiki!