Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
homecomputer:bic [2017/08/03 08:15] volkerphomecomputer:bic [2023/06/14 09:17] (aktuell) – [technische Daten] volkerp
Zeile 1: Zeile 1:
 ====== BIC A5105 ====== ====== BIC A5105 ======
  
-zum Bildungscomputer BIC gibt es alles bei U. Zander http://www.sax.de/~zander/index2h.html+zum Bildungscomputer BIC gibt es (fast) alles bei U. Zander http://www.sax.de/~zander/index2h.html
  
-Hier gibt es deshalb nur den System-Quellcode.+Hier gibt es deshalb nur den orig. System-Quellcode und ein paar weitere spezielle Sachen zum BIC A5105.
  
-Ich hab die orig. Quellen (UDOS) ein wenig aufbereitet, so dass ein Rekompilieren unter CP/M möglich ist. +Ich hab die orig. Quellen (aus UDOS) ein wenig aufbereitet, so dass ein Rekompilieren unter CP/M möglich ist((Allerdings fehlt ein spezieller Linker, der nur Symbole extrahiert. Unter Windows erfolgt das mit einem Perl-Programm)). Damit schneller kompiliert werden kann, ist ein CP/M-Emulator und eine make.cmd für Windows dabei :-)
-Damit schneller kompiliert werden kann, ist ein CP/M-Emulator und eine make.cmd für Windows dabei :-)+
  
 +2021: reass. Quellcode für nachladbaren RAM-Disk-Treiber VDISK. Dieser Treiber erzeugt eine 123K-RAM-Disk im ungenutzten Bildspeicher des GDC U82720.
  
 ===== Systembeschreibung ===== ===== Systembeschreibung =====
Zeile 29: Zeile 29:
 | Software | RBASIC\\ SCPX 5105 |  | Software | RBASIC\\ SCPX 5105 | 
  
 +{{:homecomputer:bic_zg_standard.gif|}}\\ Standard-Zeichensatz
 +
 +Am verbreitetsten ist "BIC System Version 2.01 robotron  MKD  1989". Die Version 2.00 ist 2022 aufgetaucht. Sie unterscheidet sich nur in der Funktion BEEP von der Version 2.01 (Version 2.00 ueber Kanal C mit Low-Frequ.= 55h)
 +==== Zusammensetzung der ROMs ====
 +
 +<code>
 +bicmc  = bic_N021.bin = BICSYS + BIC1 (0000-22FF,2300-7FFF)
 +scprom = bic_N120.bin = SCPROM1 (8000-9EFF)
 +dsemc  = dse32.bin    = DSE1 + DSE2 + SCPROM2 (4000-63FF,6420-77FF,7880-7FFF)
 +</code>
 +
 +Der Hauptspeicher des BICs ist in 4 SLOTs eingeteilt, die jeweils 64 KBytes
 +Speicher im Adressbereich von 0H bis FFFFH umfassen. Der Adressbereich von 64
 +KBytes wird in 4 PAGEs von je 16 KBytes eingeteilt. Zur Speicherumschaltung dient der E/A-Port mit der Adresse **A8H**.
 +
 +
 +<ditaa>
 +             RBASIC     Modul DSE    SCPX       Modul CCG 
 +             Slot 0      Slot 1      Slot 2      Slot 3   
 +   FFFF   +-----------+-----------+-----------+-----------+
 +          |                                         |
 +          |   n.n.    |  frei f.  |   RAM      frei f.  |
 +          |            Modul    |            Modul    |
 +          |                                         |
 +   C000   +-----------+-----------+-----------+-----------+
 +          |   n.n.    |                               |
 +          |-----------|  frei f.  |   RAM      frei f.  |
 +          |  scprom    Modul    |            Modul    |
 +          |  N120                                   |
 +   8000   +-----------+-----------+-----------+-----------+
 +          |                                         |
 +          |  bicmc    |  dsemc    |   RAM      frei f.  |
 +          |  N021      D47+D46  |            Modul    |
 +          |                                         |
 +   4000   +-----------+-----------+-----------+-----------+
 +          |                                         |
 +          |  bicmc    |  frei f.  |   RAM      frei f.  |
 +          |  N021      Modul    |            Modul    |
 +          |                                         |
 +   0000   +-----------+-----------+-----------+-----------+
 +</ditaa>   
 ===== Literatur ===== ===== Literatur =====
  
-  - +  - http://robotron.foerderverein-tsd.de/322.html (Entwicklung ausgewählter Produkt-Linien › Klein-, Prozeß- u. Mikrorechentechnik › Heimcomputer), dort 
 +  - http://robotron.foerderverein-tsd.de/322/robotron322a.pdf (Heim-, Klein- und Bildungscomputer des VEB Kombinat Robotron, Autor K.-D. Weise; dort Abschnitt 4.6. ff)
  
 ===== Downloads ===== ===== Downloads =====
  
-  * Anleitung, .. +  * Anleitung, .. s. U.Zander 
-  * {{:homecomputer:bic.rar|}} orig. UDOS-Disketten mit Betriebssystem-Quellcode im UDOS-Format. BASIC.S (disk 006) ist leider unvollständig extrahiert, es fehlt der größte Teil.+  * {{:homecomputer:bic.zip|}} orig. UDOS-Disketten mit Betriebssystem-Quellcode im UDOS-Format
   * {{:homecomputer:bic_src.zip|}} Betriebssystem-Quellcode, angepasst auf CP/M und Z80ASM   * {{:homecomputer:bic_src.zip|}} Betriebssystem-Quellcode, angepasst auf CP/M und Z80ASM
 +  * {{:homecomputer:bic_vdisk.zip|}} reass. Quellcode zum RAM-Floppy-Treiber VDISK LW M: 123 kByte, HUB/IV M. Krzikalla, U. Konzack, 14.04.89
 +  * {{:homecomputer:bicsys_v3.pdf|}} Betriebssystem-Quellcode-Listings als PDF zusammengefasst (02/2022)
  
  
 ===== Bedienung ===== ===== Bedienung =====
 +
  
  
Zeile 47: Zeile 92:
 http://waste.informatik.hu-berlin.de/diplom/robotron/studienarbeit/files/hardware/bic/bic.html http://waste.informatik.hu-berlin.de/diplom/robotron/studienarbeit/files/hardware/bic/bic.html
  
 +Ostern 2018: 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. 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 :-)
 +
 +Tim Mann's CatWeasel support tools: https://github.com/ezrec/cw2dmk, enthält dmk2jv3
 +
 +
 +===== Erweiterungen =====
 +
 +Es gibt eine Neuentwicklung für den BIC A5105:
 +- das KCNET-Modul https://www.robotrontechnik.de/index.htm?/html/eigenbau/k1520nw.htm, http://kc85.info/index.php/projekte-mainmenu/kcnet-mainmenu-130.html Das KCNET-Modul enthält einen BOOT-ROM, der wahlweise von EEPROM oder RBASIC/SCP bootet.
 +
 +Alle ROMs des BIC orientieren sich an der MSX-Spezifikation für Erweiterungen. Auf einer xx00h-Adresse stehen Bytes:
 +
 +  DEFB "AB" ; expansion ROM header
 +  DEFW initcode ; start of the init code, 0 if no initcode
 +  DEFW callstat; pointer to CALL statement handler, 0 if no such handler
 +  DEFW device; pointer to expansion device handler, 0 if no such handler
 +  DEFW basic ; pointer to the start of a tokenized basicprogram, 0 if no basicprogram
 +  DEFS 6,0 ; room reserved for future extensions
 +
 +(s. https://www.msx.org/forum/msx-talk/general-discussion/header-rom-cartridge und https://www.msx.org/wiki/CALL )   
  
 +Das betrifft auch die internen ROMs DSE und SCPROM und ebenso das Prüfmodul TPROS.
  • homecomputer/bic.1501748102.txt.gz
  • Zuletzt geändert: 2017/08/03 08:15
  • von volkerp