Thanks to Falk Rehwagen and Jürgen Heinisch, the original source of the TopDesk file manager for the GEOS operating system of C64/C128 is available.
https://github.com/mist64/TopDesk
The source has been converted from GeoWrite format to plain text.
These are the original source disks:
Most of the code of the different variants is identical.
These disks use TopDesk-style subdirectories. Here is a listing of the disk contents:
NAME TYPE SIZE
--------------------------------
Main/ <DIR>
DeskWindows.akt WRI 40K
DeskTop.main WRI 52K
DeskTop.sub WRI 4.7K
DeskTop.sub2 WRI 4.2K
DeskTop.sub3 WRI 8.6K
DeskTop.sub4 WRI 6.2K
DeskTop.sub5 WRI 7.3K
DeskTop.sub6 WRI 10K
DeskTop.sub7 WRI 12K
DeskTop.sub8 WRI 1.8K
DeskTop.sub9 WRI 7.8K
DeskTop.sub10 WRI 7.8K
Ende.s WRI 808B
Dos.lnk WRI 1.0K
Include/ <DIR>
DeskMain2 WRI 20K
SubDir.src WRI 21K
University 6 FNT 1.0K
Symbol/ <DIR>
TopSym WRI 8.7K
TopMac WRI 3.7K
Sym128.erg WRI 1.1K
CiMac WRI 1.2K
CiSym WRI 1.1K
DeskInclude/ <DIR>
Validate+Undelet WRI 9.0K
SizeRectangle WRI 2.3K
CopyFile WRI 11K
DiskCopy WRI 11K
SearchDisk WRI 4.0K
EditText WRI 8.7K
DosFormat.s WRI 3.0K
WinInclude/ <DIR>
InvFrame WRI 2.7K
SpeedFrame WRI 2.2K
InvFrame.old WRI 2.6K
GetDrivers.dir/ <DIR>
GetDrivers.s WRI 2.8K
GetDrivers APP 1.3K
SaveDriver.s WRI 1.6K
Protect/ <DIR>
Desksub0.s WRI 1.2K
SetBAM APP 962B
ProtectDisk APP 1.3K
Sources/ <DIR>
SetBAM.s WRI 2.8K
ProtectDisk.s WRI 2.8K
SetProtection.s WRI 2.4K
RemProtection.s WRI 2.4K
RemProt.mod.s WRI 2.6K
SetProt.mod APP 762B
RemProt.mod APP 762B
TopMac(a) WRI 4.9K
SetProt.mod.s WRI 2.4K
Desksub0 APP 9.6K
There is a follow-up article with with some history by Falk Rehwagen on the “Patch System”, TopDesk, and GEOS 3.0.
Der C64-Sourcecode hat Fehler in der Datei InvFrame.
Da wird an verschiedensten Stellen das HIGH-Byte der Grafikspeicher-Adresse geprüft und mit “bpl” verzweigt. Beim C64 ist das HIGH-Byte aber immer >$80, also Negativ. Der Fehler führt dazu das TopDesk hängen bleibt weil 128er Code ausgeführt wird (Routine SetReg).
Ich hab den Code assembliert und nach dem anklicken eines Laufwerks geht nichts mehr. Ändert man die Zeilen 79, 91, 169, 183 im github/topdesk code dann funktioniert alles wie es soll.
Vermutlich wurde da Code vom 128er auf den 64er zurückportiert ohne alle notwendigen Anpassungen durchzuführen.
Nur so als Info…
Du hast es also geschafft, es zu kompilieren? Würdest du es mir schicken? Ich kann es einfach in keiner Weise tun. Ich wäre dankbar.
Hi Markus,
danke für Deine Hinweise.
Magst Du hier registrieren für einen Austausch zu aktuellen Entwicklungen zum 8-bit GEOS?
https://bluewaysw.slack.com/
Wir würden uns freuen!
Grüße, Falk