Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » BIC A5105 Quelltexte komplett » Themenansicht

Autor Thread - Seiten: -1-
000
26.03.2018, 16:01 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Hallo,
ich habe mich aufgerafft; die originalen UDOS-Disketten-Abbilder mit den Quellen des BIC selbst zu zerlegen; um an die bislang fehlenden Teile wie BASIC.S und BILDCOPY.S zu kommen.

Das Ergebnis liegt unter http://hc-ddr.hucki.net/wiki/doku.php/homecomputer:bic bereit.

http://hc-ddr.hucki.net/wiki/lib/exe/fetch.php/homecomputer:bic_src.zip enhält an CP/M angepasste Quellen und alle benötigten Tools kann unter Windows komplett kompiliert werden.
Leider fehlt mir unter CP/M ein Linker, der nur Symbole linkt. Ich hab das mit einem Perl-Programm gelöst; deshalb vorerst nur Windows. Der Linker von UDOS kann das...

Für das K1520-Soundkarten-Projekt ist vielleicht die Implementierung des PLAY-Befehls interessant
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
26.03.2018, 16:02 Uhr
volkerp
Default Group and Edit
Avatar von volkerp

Bislang fehlte von DISK.006 der Quellcode von RBASIC. Ich habe es jetzt geschafft, die Diskettenimages direkt zu extrahieren! Das ganze war ein schwieriges Unterfangen. Irgendwie habe ich ein Diskettenbelegungsplan der einzelnen Sektoren und ihrer Zugehörigkeit zu den Dateien vermisst. Ich hatte keine Ahnung vom Aufbau des Filesystems unter UDOS. Es gibt nur wenige Tools zum Bearbeiten von DMK-Dateien (erzeugt mit catweasel); das Einzige, was die großen DMK-Dateien lesbarer gemacht hat, war dmk2jv3.exe (aus Tim Mann's CatWeasel support tools: https://github.com/ezrec/cw2dmk). Nur fehlte hier irgendwie die Verbindung zwischen den 128 Byte großen Häppchen der einzelnen Dateien. Daher habe ich zuerst versucht, anhand der vorhandenen extrahierten Daten die Belegung der Disk herauszufinden. Erste Baustelle: das Zeilenende ist unter UDOS nur 0Dh, nicht 0D0Ah. Zweites Ergebnis: irgendwie gibt es keinen erkennbare Struktur, die einzelnen Häppchen liegen of mit Sektorversatz 4, aber eben nicht immer, Zwischendurch gibt es immer wieder problematische Stellen, an denen es unvorhersehbar weiter geht. Ein neuer Versuch war daher, die DMK-Dateien selbst zu verarbeiten. Dabei bin ich über eine weitere Baustelle gestolpert: die Sektoren haben im DMK-Format unterschiedliche Länge, eine einfache Berechnung der Sektorposition ist nicht trivial. Aber ich habe gesehen, dass es nach den 128 Byte noch weitere Bytes gibt, die offensichtlich eine Art verkettete Liste bilden. So habe ich den Quellcode von dmk2jv3.exe analysiert und um zusätzliche 4 Byte pro Sektor ergänzt. Der Rest war fast trivial: Ein Perl-Programm zerlegt mir die von dmk2jv3_udos.exe erzeugten Diskettenabbilder in die einzelnen Dateien. Hilfreich dabei waren ein paar kurze Informationen im „Wissenspeicher Mikrorechentechnik“ zum Thema Diskettenbelegung unter UDOS. Wusste ich doch, schon mal irgendwo was zum Thema verkettete Dateien gesehen zu haben. Nun liegen also endlich die kompletten Quellen des BIC vor !!!!
--
VolkerP

http://hc-ddr.hucki.net
(Z9001, Z1013, LC-80, ...)
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
26.03.2018, 17:32 Uhr
Klaus



Hallo Volker,

großartig! ... vielen Dank für Deine Arbeit.

Ich bin zwar kein BIC Spezi, aber evtl. hast Du bei Deinen Aktionen herausgefunden warum beim BIC die Interruptroutinen nur oberhalb C000h laufen.
Ist das ein softwareseitiges "Problem" oder liegt es ganz einfach an der Hardware, wie vermutlich auch beim KC87?

Klar wäre der PLAY-Befehl (zumindest aus meiner Sicht) sehr interessant ;-)

In dem Zusammenhang mit BASIC gleich mal eine Frage:
Gibt es ein BASIC für CP/M (Standard), ähnlich dem MBASIC, wo Quellen in Z80 Mnemonic offen liegen?
Hintergrund meiner Frage....
Ich nutze ja Heikos Farb-BWS unter CP/A am K1520 Bastelrechner und unter EPOS am NANOS-System.
Die beiden Systeme (CP/A und EPOS) habe ich um Farbausgabe ergänzt.
Nun wäre es schön, wenn es ein BASIC für CP/M gäbe (sowas wie MBASIC), das man um ein paar Dinge, wie z.B. das direkte Cursor setzen, Vorder- und Hintergrundfarbe setzen und evtl. auch den genannten PLAY Befehl (für die K1520-SOUND-Karte) erweitern könnte.

Für den AC1 hat Rolf ja das AC1-BASIC6-USB "gebastelt".
Mit einem COLOR v,h einem CURSOR x,y.... u.v.m.

Cool wäre natürlich auch sowas, wie die dort vorhandene, direkte Unterstützung für den USB-Port und natürlich der PLAY Befehl für die neue SOUND-Karte.

Ja... ich weiß... hat alles nur noch wenig mit den Original-CP/M Kisten zu tun.
Aber wenn es schon so schöne neuen Entwicklungen gibt, sollte man die doch auch nutzen können.
Assembler ist nun mal nicht jedermanns Sache und für viele ist BASIC vermutlich einfacher zu händeln.

Viele Grüße,
Klaus

Dieser Beitrag wurde am 26.03.2018 um 17:36 Uhr von Klaus editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
27.03.2018, 05:02 Uhr
ralle



Da bringe ich mal zum Clubtreffen was lesbares mit.
--
Gruß Ralle

Wenn Sie dazu neigen, Bedienungsanleitungen zusammen mit dem Verpackungsmaterial wegzuwerfen, sehen Sie bitte von einem derart drastischen Schritt ab!...
... Nachdem Sie das Gerät eine Weile ausprobiert haben, machen Sie es sich am besten mit dieser Anleitung und ihrem Lieblingsgetränk ein oder zwei Stunden lang in Ihrem Sessel bequem. Dieser Zeitaufwand wird Sie dann später belohnen...

aus KENWOOD-Bedienungsanleitung TM-D700
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek