FremdeProjekte/MeGALoDOS
Inhaltsverzeichnis
### IN ARBEIT ### ### IN ARBEIT ### ### IN ARBEIT ### ### IN ARBEIT ### ### IN ARBEIT ### ### IN ARBEIT ### ### IN ARBEIT ### ### IN ARBEIT ###
MeGALoDOS Board
Die Hardware des MeGALoDOS Board wurde entwickelt von Tommy_nrw aus dem Forum-64.
Mit diesem Board wurde großartiges geleistet von TOMMY_NRW, vielen Dank dafür!
Das MeGALoDOS ist die ultimative Erweiterung für ein Commodore 1541 Floppy Laufwerk.
Es erweitert die Hardware einer normalen Commodore 1541 und eröffnet neue, fantastische Möglichkeiten!
Ein Jugend Traum wird wahr, genau sowas hat man sich früher gewünscht.
Nicht nur wegen des Geschwindigkeitsvorteil, sondern auch weil die Entwicklung von Code für die Floppy damit so einfach wird.
Das MeGALoDOS Board bietet:
- Emulation aller wichtigen Super-Speeder die es für die 1541 gibt
- informative Anzeige über ein OLED Display
- optionale Track Anzeige über ein 7-Segment Display
- komfortable Bedienung über einen Drehgeber
- automatischer und manueller RESET
- Disketten Schreibschutz Management
- Einstellbare Geräte Nummer
- 1MB RAM
- 512KB EEPROM
- 2x RAM Disk
- optional 2MHz Modus für die CPU
- Trackbuffer für GCR Rohdaten
- Hardware GCR encode/decode
- integrierte SuperCard+
Große Mengen Speicher nützen wenig, wenn das Speicher Management nicht passt.
Die 6502 CPU hat nur einen Adressraum von 64KB.
Zudem soll das Board kompatibel sein mit dem originalen, bestehenden DOS und auch mit allen Speeder die emuliert werden.
Deshalb wird der Speicher auf sinnvolle Weise stückweise eingeblendet. Auf wohl überlegte Art und Weise.
Abhängig vom Betriebs Modus gibt es unterschiedliche Konfigurationen.
Auf geniale Weise wird jeder Winkel des Adressraum genützt::
- 4K RAM ab 0x3000
- 2K RAM ab 0x0800
- 8KB Fenster für RAM (für Speeder)
- 8KB Fenster für ROM (für Speeder)
- 8KB Fenster mit 'banking' für RAM und ROM (Super RAM Modus)
- zwei mal RAM Disk in der Art wie TurboTrans das gemacht hat
- spezielle Bereiche für Extras (SuperCard+, Hardware Enkoder/Dekoder)
Fotos von 1541 Laufwerke mit MeGALoDOS: (Dank an Tommy_nrw für die freundliche Erlaubnis diese Fotos zu benutzen)
MeGALoDOS Tools
Schreiben des Flash Speicher
Der Flash Speicher des MeGALoDOS hat 64 Seiten zu je 8KB. Zur Zeit werden jedoch nur 32 Seiten benutzt. Jedes DOS benötigt 2 oder drei 8KB Seiten im Flash Speicher. Nur wenn alle 33 Seiten des Flash Speicher richtig beschrieben sind, funktionieren alle DOS Modi des MeGALoDOS Board.
Aber selbst dann, wenn der Flash komplett leer ist, kann man das Floppy Laufwerk noch benutzen. Dazu wählt man den Modus "CBM DOS Floppy" am OLED Display. Die 1541 läuft nun mit dem Standard DOS EPROM auf dem Mainboard des Floppy Laufwerk. In diesem Modus ist MeGALoDOS RAM und Flash Speicher sichtbar, sodass der Flash Baustein beschrieben werden kann.
Flash beschreiben mit einem Programmiergerät
Der Flash Chip des MeGALoDOS wird vorsichtig aus dem Sockel entfernt und in einem Programmiergerät wie zB. dem TL866 gesetzt. Die Bedienung des Programmiergerät entnehmen Sie bitte dem Handbuch. Nach erfolgter Programmierung des Flash Chip wird dieser wieder vorsichtig in das MeGALoDOS Board eingesetzt.
Flash beschreiben vom PC aus
Man kann den Flash Speicher des MeGALoDOS direkt von einem PC aus beschreiben. Dazu benötigt man das OpenCBM und ein passendes Interface (XA-1541, XU-1541, XUM-1541 ...). Getestet werden kann die Verbindung zum Floppy Laufwerk mit folgenden Kommando:
CBMCTRL detect
Wir stellen Tools zur Verfügung, die auf eine funktionierende OpenCBM Verbindung aufbauen:
- ein Script der den gesamten Flash Speicher ausliest und eine Datei pro Bank schreibt (fcFlashRead.cmd).
- ein Script der diese Dateien wieder zurück in den Flash Speicher der Floppy schreibt (fcFlashWrite.cmd).
- das funktioniert natürlich auch für eine einzelne Bank / Datei
- gesamten Flash Speicher löschen (Chip Erase) -- Achtung: nur ausführen wenn das interne DOS selektiert ist! (fcChipErase!!.cmd)
- Blank Test auf den gesamten Flash Speicher
- einzelne Flash Bank löschen (8KB)
- Blank Test auf eine einzelne Flash Bank (8KB)
- einzelne Flash Bank vergleichen mit dem RAM Buffer (8KB)
Flash beschreiben mit einem C64
Die Programmierung des Flash Speicher kann auch von einem C64 aus durchgeführt werden. Die 33 Blöcke zu je 8KB sind zu groß für eine Diskette. Man benötigt zwei Disketten (oder zwei Seiten einer Diskette). Auf der Seite A befinden sich die Flash Blöcke 00 bis 12, auf Seite B die Blöcke 13 bis 22. Die Blöcke 1B und 1C sind "Reserve" und werden nicht geschrieben.
Auf jeder Diskettenseite befindet sich ein kleines BASIC Programm, das den Flashvorgang durchführt:
Jede Flash Seite muss ein ganz bestimmtes ROM beinhalten, damit das MeGALoDOS Board ordentlich funktioniert. Mit Hilfe eines Tool wird sicher gestellt, dass man nur die richtigen ROM Dateien an die richtige Seite in den Flash Speicher schreiben kann. Das Tool heißt (MeGALoDOS-flashtool.exe) und läuft auf einem Windows PC:
Das Tool erkennt die richtigen ROM Dateien aufgrund der Prüfsumme und erstellt eine Flash Datei für die entsprechende Flash Seite (Bank). Wenn eine ROM Datei nicht erkannt wird, dann gibt das Tool eine Fehlermeldung aus. Am Ende sollte man 33 Flash Dateien haben (00 bis 22). Die Flash Dateien müssen dann nur noch auf die Disketten gespeichert werden. Der Name der Datei ist immer "&FLASHBANK" gefolgt von der Bank Nummer.
Zum Betrieb des Windows Tool braucht man das Programm selbst (MeGALoDOS-flashtool.exe) und den Floppy Code dazu (fcFlash.prg). Beide Dateien müssen im selben Verzeichnis sein.
Mit der Option -a wird das Tool automatisch über alle 33 ROM Dateien ausgeführt. Man muss dazu allerdings ein Namens-Schema einhalten, die ROM Dateien müssen als "memFlashBank_xx.bin" benannt werden. Wobei 'xx' die Banknummer ist. Es ist dieselbe Namensgebung die bei den OpenCBM Scripts verwendet wird.
Erfahrene Benutzer können MeGALoDOS Flashtool auch für weitere Aufgaben nutzen:
- Option -b: 'zerlegen' großer Dateien bestehend aus mehreren 8KB Blöcke. Es werden 8KB Dateien erzeugt: <blockXX.bin>
- Option -t: Zusammenbau einer großen Flash Datei (512KB) für externe Programmiergeräte (zB. TL-866)
- Option -sbXX: Erstellung einer Flashdatei mit einem ungeprüften 8KB ROM (unbekannte CRC-16). Option -sbXX ('set bank XX') - die Bank Nummer XX muss zwingend angegeben werden.
ACHTUNG: für diese Funktionen sollte man aber genau wissen was man tut ...
Diagnose Tools
Hierbei handelt es sich vorwiegend um Diagnose des Zugriff auf das RAM des MeGALoDOS. Der Zugriff auf das gesamte RAM des Board ist möglich im Modus 'Super-RAM DD'. Dieser Modus bietet alle Möglichkeiten an, die implementiert sind:
- RAM in den 'Lücken': $0800 (2K), $3000 (4K)
- DD2 Track Buffer $8000 (8K)
- 'banked' Track Buffer $4000 (8K x 64)
- 'banked' Flash Memory $6000 (8K x 64)
- RAM Disk 1 (1024 Sektor Buffer)
- RAM Disk 2 (1024 Sektor Buffer)
- Hardware GCR Dekoder
RAM Test vom PC aus
Man kann den RAM Speicher des MeGALoDOS direkt von einem PC aus testen. Dazu benötigt man das OpenCBM und ein passendes Interface (XA-1541, XU-1541, XUM-1541 ...). Getestet werden kann die Verbindung zum Floppy Laufwerk mit folgenden Kommando:
CBMCTRL detect
Wir stellen Tools zur Verfügung, die auf eine funktionierende OpenCBM Verbindung aufbauen:
- (fcRamTest.cmd) ein Script für dem Buffer#2 der Floppy der den RAM aktiviert und prüft ob er aktiv ist
- (fcRamTestExt08-SRD-DD.cmd) ein Script für die Adresse 0x0800 der das RAM Banking im Modus Super-RAM DD überprüft
- (fcRamTestExt30-SRD-DD.cmd) ein Script für die Adresse 0x3000 der das RAM Banking im Modus Super-RAM DD überprüft
- (fcRamTestExt08-SRD-PD.cmd) ein Script für die Adresse 0x0800 der das RAM Banking im Modus Super-RAM PD überprüft
- (fcRamTestExt30-SRD-PD.cmd) ein Script für die Adresse 0x3000 der das RAM Banking im Modus Super-RAM PD überprüft
Der einfache RAM Test ist sehr klein und läuft im Buffer #2 der Floppy. Es stellt keinerlei Anforderungen und funktioniert daher auch ohne MeGALoDOS Board, bzw. wen die Funktion des Board beeinträchtigt oder gestört ist. Der RAM wird nicht richtig getestet sondern nur überprüft. Das Tool schaut ob RAM da ist und ob es ein nur ein Mirror ist oder echter RAM.
Der Test für den Super-RAM Modus überprüft auch die anderen Speicherbereiche sowie den 2 MHz Modus. Das Tool benötigt etwas mehr RAM, daher werden die MeGALoDOS Bereiche 0x800 oder 0x3000 für die Ausführung des Code verwendet. Ob diese RAM Bereiche überhaupt zur Verfügung stehen kann man mit dem einfachen RAM Test (fcRamTest.cmd) feststellen.
RAM Test mit einem C64
Auf der Diskette befindet sich ein kleines BASIC Programm, mit dem man den RAM Test komfortabel durchführen kann:
FMON - Floppy Monitor für MeGALoDOS
Der Floppy Monitor ist ein Tool für den erfahrenen Benutzer/Coder. Man kann damit das Banking steuern, den Flash Speicher verwalten, RAM testen und Programme laden.
Das Tool ist speziell für den Modus "Super-RAM DD" ausgelegt, funktioniert aber teilweise auch in den anderen MeGALoDOS Modi.
Befehle:
- FSB -- Flash set Bank (00-3F)
- FCP -- compare current Flash Bank with RAM
- FER -- Flash erase - erase current Flash Bank
- FRD -- Flash read - read current Flash Bank into RAM
- FBT -- Flash Blank Test - Test for empty Flash (bank or all)
- FCE 5A -- Flash CHIP ERASE !!! (gesamten Inhalt des Flash Speicher löschen!)
- FWR -- Flash write - write RAM Bank into Flash
- FEN -- enable Flash Banking
- FDA -- disable Flash Banking
- RBE -- enable Track buffer RAM
- RBD -- disable Track buffer RAM
- RBS -- set Track buffer Bank (00-3F)
- RBT -- test Trackbuffer RAM
- RDE -- enable RAM Disk
- RDD -- disable RAM Disk
- RDS -- set RAM Disk Bank (00-FF)
- RDT -- test RAM Disk
- RLD -- Load File into RAM ($4000)
- SDD -- set Super-RAM DD
- SPD -- set Super-RAM PD
- TRA -- test if RAM available
- TGP -- test PG hardware GCR decoder
- TGM -- test MeGALoDOS hardware GCR decoder
- TDD -- test Super RAM SD track buffer
- TPD -- test Super RAM PD track buffer
- MRD -- memory read
- MWT -- memory write
- MEX -- memory execute
Brainstorming
Was kann man alles mit diesem tollen Board anfangen ...
MeGALoDOS Dokumentation
Betriebs Modi
Trackbuffer
RAM Disks
GCR Hardware Dekoder
Dateien
- MeGALoDOS Flashtool - bestehend aus zwei Disketten Images (ohne ROM Dateien) und einem Tool für Windows
- MeGALoDOS RAM Test - bestehend aus einem Disketten Image und mehreren Dateien für Tests unter OpenCBM
Dokumente
- TurboTRans Manual (Quelle:rr.pokefinder.org)
Links
- Neues Projekt MeGALoDOS (im Forum-64
- OpenCBM - Users Guide (Spiro's home)
- Professional DOS - Die Hardware (von Tim Schürmann)
- Professional-DOS @ D81.DE (Wolfgang Moser)