Die Floppy 1541

Aus C64-Wiki
Zur Navigation springenZur Suche springen


Die Floppy 1541
Cover/Buchdeckel
Sprache deutsch
Autor(en) Karsten Schramm
Verlag Markt & Technik Verlag
Jahr 1985
ISBN ISBN 3-89090-098-4
Neupreis DM 49,- / SFr 45,10 / öS 382,20
Datenträger
Seitenzahl 434
letzte Auflage 1. Auflage
Genre Programmieren / Hardware
Information




Auf mehr als 430 Seiten erklärt Karsten Schramm die Funktionsweise der 1541 bis in Detail. Mit einer Reihe von Beispielen und vor allem dem kommentierten DOS-Listing enthält es reichlich Stoff zur Programmierung der 1541.

Beschreibung[Bearbeiten | Quelltext bearbeiten]

Aus dem Text auf der Buchrückseite:

Dieses Buch ist für alle Programmierer konzipiert, die endlich mehr über ihre VC 1541 Floppystation erfahren wollen. Es beginnt bei der grundlegenden Arbeit mit Files und führt Sie im weiteren Verlauf immer tiefer in die Geheimnisse der VC 1541 ein. Es enthält ein komplett dokumentiertes DOS-Listing und ist sowohl für Floppy-Einsteiger als auch für die fortgeschrittenen Maschinensprache-Programmierer geschrieben. Mit diesem Buch lernen Sie die Technik der Aufzeichnung auf Diskette, die Funktionsweise von modernem Softwareschutz sowie von schnellen Kopier- und Ladeprogrammen kennen, damit Sie Ihre VC 1541 effektiv programmieren und manipulieren können.

Das Buch

  • beschreibt ausführlich den Vorgang des Formatierens und des Schreibens von Files auf Diskette,
  • stellt Fehler im Commodore-Handbuch richtig,
  • zeigt die Funktionsweise von schnellen Kopier- und Ladeprogrammen,
  • enthält viele fertige Programme,
  • erklärt, wie man defekte Disketten trotzdem lesen und beschreiben kann.

Eine Beispielediskette mit den im Buch enthaltenen Programmlistings ist beim Verlag gesondert erhältlich.

Inhaltsverzeichnis (gekürzt)[Bearbeiten | Quelltext bearbeiten]

 1 Einführung in das DOS der 1541
 2 Datenspeicherung, PRG-,SEQ-,USR-,REL-Files
 3 Das Diskettenformat,
   Aufbau einer neu formatierten Diskette
   Spur, Sektor, BAM, ID, Directory
   Aufbau der Files
 4 Direktzugriff auf die 1541
   Block- und User-Befehle
 5 Die Speicherorganisation
 6 Ausführen von Programmen im Pufferspeicher
 7 Die Aufzeichnung von Daten auf der Diskette 
   Aufbau eines Sektors, Blockheaders, Datenblocks 
   SYNK-Markierungen, GCR-Kodierung 
 8 Wiederherstellen zerstörter Disketten
 9 Funktionsweise von Softwareschutz auf Disketten 
10 Der serielle Bus der 1541
11 Die Hardware der 1541
12 Fehler im DOS 2.6 der 1541
13 Die 1541 im Vergleich zu den anderen CBM-Floppies
A1 RAM-Belegung der 1541
A2 DOS-Listing der 1541
A3 Liste des gesamten Befehlssatzes mit Kurzbeschreibung
A4 Anhang  IV: Liste der Fehlermeldungen des DOS 2.6
A5 Programmlistings

Leseproben[Bearbeiten | Quelltext bearbeiten]

5.1.4 Die Pufferspeicher der 1541

Ab der Adresse $0300, also ab Seite 3, befinden sich bei der Floppy die schon früher angesprochenen Pufferspeicher. In diesem Teil des Speichers werden alle Daten zwischengespeichert, die auf der Diskette geschrieben oder von der Diskette gelesen werden sollen. Tabelle 5.2 zeigt den Bereich der einzelnen Puffer und deren üblichen Inhalt:

------------------------------------------------------------ | Puffer | Adresse | Funktion | |--------|------------|------------------------------------| | 0 | $0300-03FF | Hauptarbeitspuffer | | 1 | $0400-04FF | Enthält aktuellen Directoryblock | | 2 | $0500-05FF | Benutzerpuffer; normalerweise frei | | 3 | $0600-06FF | letzter Block des Directory | | 4 | $0700-07FF | enthält Block 18,0 (BAM) | ------------------------------------------------------------
Tabelle 5.2 Belegung der Pufferspeicher


D6A6                          Steuerung der Anzahl der Lesever-
                              suche bei Auftreten von Fehlern.
D6A6  A5 6A 	LDA $6A       Anzahl der Versuche (normal 5)
D6A9  29 3F 	AND #$3F      begrenzen
D6AA  A8  	TAY           und als Zähler merken
D6AB  AD 6D 02	LDA $026D     Maske für LED am Laufwerk
D6AE  4D 00 1C	EOR $1C00     LED umschalten; wird als das
D6B1  0D 00 1C	STA $1C00     charakteristische Flackern deutlich
D6B4  BD 5B 02	LDA $025B,X   Jobcode holen
D6B7  95 00 	STA $00,X     und an DC übergeben
D6B9  B5 00 	LDA $00,X     Rückmeldung prüfen
D6BB  30 FC 	BMI $D6B9     und Ende abwarten
D6BD  C9 02 	CMP #$02      Fehler aufgetreten ?
D6BF  90 03 	BCC $D6C4     verzweige, wenn nein
D6C1  BS  	DEY           Zähler vermindern
D6C2  D0 E7 	BNE $D6AB     und nocheinmal versuchen
D6C4  48  	PHA           Rückmeldung merken
D6C5  AD 6D 02	LDA $026D     Maske für LED am Laufwerk
D6C8  0D 00 1C	ORA $1C00     LED einschalten
D6CB  0D 00 1C	STA $1C00	
D6CE  68  	PLA           Rückmeldung zurückholen
D6CF  60  	RTS           Ende
-----------------------------------------------------------------

Die Beispielediskette[Bearbeiten | Quelltext bearbeiten]

Die damals gesondert beim Verlag zu beziehende Diskette enthält die folgenden Programme und Daten:

 0 "FLOPPY-PROGRAMME" FP 2A
 20   "FORMAT-SYS"       PRG<   Erstellt Programm "S-FORMAT" aus DATA-Zeilen zum Abspeichern 
 4    "ERR22"            PRG<   Programm zum Erzeugen eines 22, READ-ERROR in beliebigem Sektor
 4    "ERR23"            PRG<   Programm zum Erzeugen eines 23, READ-ERROR in beliebigem Sektor
 16   "REZEPT-PRG"       PRG<   Verwaltung eines Rezeptbuchs, SEQ- und REL-Beispiel
 14   "EDDI"             PRG<   Diskmonitor/Editor 
 3    "LED-TEST"         PRG<   Testet Schreibschutzlichtschranke und zeigt deren Zustand mit der LED an 
 2    "DIRECTORY"        PRG<   Anzeigen eines Directory ohne Programmverlust mit einer Unterroutine  
 6    "SCANNER"          PRG<   Testet die Reihenfolge von Blöcken eines Tracks und zeigt diese an.
 11   "FORMAT O.T."      PRG<   Programm zum Spezialformatieren eines Tracks 
 5    "CLOSE FILE"       PRG<   Nachträgliches Schließen eines Files
 5    "HEX-GCR"          PRG<   Programm zum Konvertieren von 4 Hexbytes in die 5 entsprechenden GCR-Äquivalente
 4    "STEUERCODES"      PRG<   Steuerzeichen des C64
 4    "GCR-HEX"          PRG    Programm zum Konvertieren von 5 GCR-Bytes in die 4 entsprechenden Hex-Äquivalente
 5    "PROTECT FILE"     PRG    Schützen eines Files vor Scratch
 5    "UNPROTECT FILE"   PRG    Entsichern eines Files, um Scratch wieder zu ermöglichen
 5    "S-FORMAT"         PRG    Disk-Format-System 
 18   "INHALT 1"         REL   
533 BLOCKS FREE.             
READY.


Siehe auch[Bearbeiten | Quelltext bearbeiten]

Die Floppy 1570/1571

Meinung[Bearbeiten | Quelltext bearbeiten]

Werner: "Empfehlenswertes Buch mit sehr detaillierten Informationen über die Floppy 1541. Ein komplett kommentiertes ROM-Listing ist auch vorhanden."

Weblinks[Bearbeiten | Quelltext bearbeiten]