Bug-Fixes und Erg„nzungen bei SIM51: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ =============== Version 1.0: = =============== Ich begann mit der Programmierung von SIM51 im Zusammenhang mit einer Semesterarbeit an der Uni Stuttgart ca. 1989. Version 1.0 wurde nicht ausgeliefert. Sie enthielt schon: Fullscreen Darstellung, Breakpunkten, SFR fr 8051, 8052 und 8044, seriell Port Simulation (nur in/von Buffer), integrierten Assemb- ler und Disassembler, Timer Simulation, Interrupt-Logik Simulation, Editor fr alle angezeigten Speicherbereiche und Register, Memory- Mapping, Befehlswiederholung, Key-Stroke-Buffer. ================ Version 1.01: = ================ Nach einigen Erg„nzungen und Korrekturen erfolgte 1991 die Umbenennung in Version 1.01 12.06.91 -- Beim Lesen von SIM51.CFG erfolgte ein Absturz des PC, aber nur, wenn SIM51.CFG manipuliert wurde, nun ok. 12.06.91 -- DOS Critical Error - Routine beim File-IO nun abgefangen, da die Routine von DOS bei einem Abbruch des File-IO SIM51 beendet hatte. Das durfte nicht sein, da SIM51 erst die verwendeten Interrupts austragen muá! (auch Ctrl-C abgefangen) 12.06.91 -- Bug bei Key-Stroke Sample und Execute Funktion beseitigt. Wenn nach einem Eintasten-Befehl XS gedrckt wurde, "blieb PC stehen". 22.06.91 -- Video-Attribute ge„ndert fr bessere Farbdarstellung bei EGA. 22.06.91 -- Cursor blieb bei EGA-Karten in Help-Fenstern h„ngen, nun ok. Erg„nzung 22.06.91: Zyklus-Z„hler und Go-Slow Optionen eingefgt. Laden von Files nun auch ber Auswahlfenster. Terminal-Emulation mit Eingabe von ASCI-Zeichen w„hrend execute. Neu berarbeitetes Handbuch. 10.08.91 -- Fehler bei RETI von High-Priority Int behoben. 23.08.91 -- Fehler bei DA A (OV-Flag wurde gel”scht) beseitigt. Erg„nzung 30.08.91: Laden von Bin„r-Files hinzugefgt. 06.09.91 -- bei Load Bin„r ein Fehler eingeschlichen: "PC blieb stehen", nun ok. Erg„nzungen 13.10.91: HEX-Format Konverter (EHEX.EXE) fr elektor eASM51.EXE beiliegend. Neuer Disassembler DIS51.EXE Ver.2.0 beiliegend. Erg„nzungen 17.12.91: Neu berarbeitetes SIM51.DOC. ObjView nicht mehr auf Disk. 19.12.91 -- bei Load ber Fileauswahl-Fenster: Fehler abfangen, wenn keine Disk eingelegt. 02.01.92 -- Erkennen von Unterschied Objek-/Absolut-Files, Laden von Hex- Files trotz Symbol-Infos (Keil A51.EXE), Fehler bei Fileauswahl- Fenster behoben: bei ESC wurde unterer Bildschirmteil nicht wiederhergestellt. bei slektierten Laden wurde .. UP-DIR nicht angezeigt. Fehler in DIS51 behoben: bei Record-Typ 12 Zeileninfos. ================ Version 1.02: 26.01.1992 ================ Am 26.01.92 erfolgte die Umbenennung in Version 1.02. Nun auch Timer 0, Timer1 und Timer2 Counter-Eingang Funktion. Toggle Pin-Eing„nge w„hrend * execute * ber Alt-Fx und Ctrl-Fx. Timer 2 T2EX Eingang-Funktion. Bei serieller Schnittstelle wird TxDout und RxDout geprft --> Fehlermeldung. SIM51.DOC erg„nzt um simulierte Hardware. 19.02.92 -- Fehler bei inLine Assembler behoben: wurde ein Komma vergessen, sprang der Cursor in die n„chste Zeile. 19.02.92 -- Nach Abarbeitung eines Breakpoints wurde der Break nicht richtig ausgetragen. Folgte einem Single-Step ein Fehler, so wurde 0A5h in den Code geschrieben. nun ok. Erg„nzung 21.02.92: Simulation serielle Schnittstelle ber serielle PC-Schnittstelle COM1...4 25.02.92 -- Bei Simulation von Timer0, Timer2 und serieller 8051 Schnittstlle hatte sich ein Fehler eingeschlichenn nun wieder ok. 15.03.92 -- Interrupts der seriellen PC-Schnittstelle austragen korrigiert. 18.04.92 -- SIM51 fhrte bei XT zu Absturz, da Austrag serieller PC-Schnitt- stelle immer noch fehlerhaft (DMA fr RAM-Refresh wurde versehent- lich ausgetragen anstelle COM1 -- falsche IO-Adresse). 02.05.92 -- in SIM51.CFG war falsche COM-Port Adresse eingetragen, nun ok. ================= Versions 1.03: = ================= Am 23.07.92 erfolgte die Umbenennung in Version 1.03. P2 und P0 weden nun bei externen Code-Fetch mit der Code-Adresse geladen. Es ist ein 80552 und 80515 Mode mit A/D Wandler als provisorische Vorabversion enthalten --> nicht dokumentiert! Umschalten ber "m 552" bzw. "m 515". ================ Version 1.04: = ================ Am 01.01.93 erfolgte die Umbenennung in Version 1.04. Es wurden einige Žuáerlichkeiten versch”nert. Jetzt auch Dokumentation MCS51.DOC auf Disk. Die Files werden nun gepackt ausgeliefert. Die mit PKLITE ge- packte Shareware-Version SIM51D.EXE lief auf einigen PC's nicht! Wahrscheinlich liegt ein Bug in PKLITE. 13.01.93 -- Fehler bei flankengetriggerten externen Interrupts INT0 und INT1 beseitigt. Hier wurde das Flag gesetzt, auch wenn der Pin lediglich LOW war und blieb, aber an einem anderen Pin von Port P3 eine Žnderung erfolgte.