Vom Autor des Altair 8080 oder Multitasking-CPM bzw. VIC-20 auf dem VGA32 kommt evtl. bald ein IBM-PC-Emulator auf dem VGA32
Im Video ist der Start von FreeDOS und Windows 3.0 im b/w Hercules-Mode zu sehen.
Vom Autor des Altair 8080 oder Multitasking-CPM bzw. VIC-20 auf dem VGA32 kommt evtl. bald ein IBM-PC-Emulator auf dem VGA32
Im Video ist der Start von FreeDOS und Windows 3.0 im b/w Hercules-Mode zu sehen.
Interessant!
Das zeigt mind. 2 Dinge:
Das die ESP32 Plattform nicht nur sehr günstig ist, sondern auch Leistungsfähig.
Das Author schon einiges drauf hat!
LG Peter
Das die ESP32 Plattform nicht nur sehr günstig ist, sondern auch Leistungsfähig.
Das Author schon einiges drauf hat!
Ja die Plattform mit 240MHz ESP32, 512KB SRam und 8MB PSRAM hat schon einiges drauf.
Die Kombination mit PS/2-Ports und VGA find ich fuer den Preis echt einen "Knaller"
Ich muss noch sehen, wie viel Performance durch VGA verloren geht gegenueber einer seriellen Terminal-Verbindung zum ESP32.
Aber Fabrizio Di Vittorio holt da - aus meiner Sicht - echt das letzte aus dem kleinen Platinchen
Lustig waere dann noch ein PS/2 to USB-Port Konverter zur USB-Tastatur-Nutzung
Aber der TTGO VGA hat doch kein PSRAM? Daher wundert es mich, dass der Emulator noch Windows 3 starten kann. Dachte das braucht schon mindestens 512KB
bis jetzt haben wir noch keine weiteren Infos
Ich glaube die Espressif Rover Module haben 4MB PSRAM - oder waren es die „wrooom“
Aber Liligo schreibt nix von PSRAM bei TTGO VGA.
Aber der FabGL Entwickler hat vielleicht selbst was gebastelt.
AFAIK kann man das interne Flash per MMU in den Adressraum mappen und dank Caches ist es zumindest als read-only für Code schnell genug. Der Emulator-Code selbst braucht also kein SRAM und nur Stack und Daten (globals, heap, vram) brauchen was vom SRAM
Aber der TTGO VGA hat doch kein PSRAM? Daher wundert es mich, dass der Emulator noch Windows 3 starten kann. Dachte das braucht schon mindestens 512KB
Aber Liligo schreibt nix von PSRAM bei TTGO VGA.
Aber der FabGL Entwickler hat vielleicht selbst was gebastelt.
RexRetro PeterSieg
Des Raetsels "Loesung": die V1.4 des TTGO VGA32 hat 8MB PSRAM in dem Chip PSRAM64H
Bestaetigt wurde es schon im November 2020
Eine kleine Liste verfuegbarer Emulationen kann man sich hier ansehen.
Ich werde mir wohl mal den ESP32TinyCPC und ESP32TinyZXSpectrum ansehen.
ESP32TinyCPC in Action
Wer weiss was uns die 8MB PSRAM noch bringen in der Zukunft
Cool, wo kauft man so ein V1.4 am besten?
Ich hatte mal geschaut und Win3.0 läuft im real-mode wohl ab 384KB ( freier Speicher unter DOS).
Cool, wo kauft man so ein V1.4 am besten?
Meine beiden v1.4 hatte ich in China per eBay bestellt.
Kann man PSRAM nun aus Arduino Sketches nutzen?
Oder muss man dazu das Espressif ESP32 (FreeRTOS) SDK direkt nehmen?
Kann man PSRAM nun aus Arduino Sketches nutzen?
Oder muss man dazu das Espressif ESP32 (FreeRTOS) SDK direkt nehmen?
Ich hab nur gesehen, dass man es in der Board-Definition enablen kann und die Files zur Board-Unterstuetzung in der Arduino-IDE kommen ja direkt von Espressif
PeterSieg RexRetro
Eine "Demo-Version" ist nun auf github verfuegbar.
Allerdings nimmt man sich am besten den ganzen github-Content, da auch im Verzeichnis emudevs der FabGL-Library einige Files (graphicsadapter, i8086, PIC8259, PIT8253 - jeweils .h und .cpp) gebraucht werden und es noch kein Update der FabGL ueber den Arduino-IDE Library-Manager gibt.
Vom github-content habe ich einfach den Inhalt (minus dem grossen docs-Directory) in den FabGL-Library-Path der Arduino IDE kopiert.
Beim ersten Compile hatte ich PSRAM auf enabled gesetzt (weil ich dachte er nutzt ja nun PSRAM).
Da bekam ich nur einen schwarzen Bildschim anch dem Upload-Reset
Zweiter Gedanke, er hat das fd.img (Bootfloppy) nicht mit uebertragen....also auf die SDCard kopiert.
Hier auch nach Reset nur ein schwarzer Bildschirm - und kein Videosignal
Also nochmal compiliert mit PSRAM disabled und nach dem Upload-Reset kommt ein Videosignal
Es bootet FreeDOS und melder "froh":
Welcome to FreeDOS on ESP32!
Da die Tastatur-Unterstuetzung noch nicht vollstaendig ist, laedt man am Besten noch nicht KEYB GR
denn ALT-GR fuer den Backslash geht noch nicht.
D.h. mit us/uk geladender Tastatur (oder das als Standard, wenn keine geladen ist) ist auf der deutschen Tastatur unter der # dann der \
Das Arduino-IDE .ino ist so konfiguriert, dass es immer von Floppy bootet (soweit ich den Code verstanden habe)
Waere HD dann 0x8000 oder 0x0080? (dazu muesste man das aendern und neu flashen)
Ich habe nun eine MS-DOS 6.22 Boot-Floppy (fd.img) und eine 20MB MS-DOS 6.22 HDD (hd.img)
Innerhalb der config.sys/autoexec.bat kann ich zum booten auf DOS-Files in C:\DOS zugreifen.
guidol : Herzlichen Dank!!! Ohne Deine Infos hätte ich es bestimmt nicht geschafft das Teil zum Laufen zu kriegen!!!
Kennst Du ein Tool mit dem ich Dateien auf das Image ziehen kann? 7zip kann davon nur lesen...
...ist da eigentlich irgendwo ein Maustreiber mit 'drauf? Meine Maus läuft nicht unter Win3.0.
Würdest Du mir Deine DOS Diskette und Dein HDD Image zur Verfügung stellen? - das wäre toll!!!
:)Franky
zum mounten/bearbeiten schau Dir mal die ImDisk Toolkit an unter:
https://sourceforge.net/projects/imdisk-toolkit/
Raufladen der Images ist nicht so leicht, weil ich nur 0.7MBit Upload beim DSL habe.
Ich muss mal schauen, wieviel das gepackt ist...
zum mounten/bearbeiten schau Dir mal die ImDisk Toolkit an unter:
DANKE! Damit hat's geklappt!
Hast Du eigentlich eine Maus zum Laufen bekommen? - das hat bei mir noch nicht funktioniert... - Ahja, eben sehe ich auf Youtube - er hat's noch nicht implementiert...
Zumindest habe ich schon einige interessante Systemabstürze produzieren können!
:)Franky
Zumindest habe ich schon einige interessante Systemabstürze produzieren können!
3D-Blockout (eine Art 3D Tetris) im CGA Demo-Mode ist nach einer Weile unter MS-DOS 6.22 auch mit einem wirren Grafik-Screen "abgesemmelt"
Nun habe ich mal ein 4DOS 8.00 "dazwischen"... mal sehen ob der VGA32 da ein wenig laenger puzzelt
Hier nur ein Beispielbild - nicht direkt vom VGA32
Wie hoch ist denn damit nun die größte mögliche und sichtbare Grafikauflösung?
Beim Version 1.2 Board hatte ich 640x350 --- 640x480 waren zwar einstellbar, aber nicht komplett sichtbar - nur mit scrollen.
Hat der Fabrizio das auf 640x480 oder gar höher gebracht? Am liebsten hätte ich 800x600
Wie hoch ist denn damit nun die größte mögliche und sichtbare Grafikauflösung?
Mein Monitor sagt es wären 720x400...
:)Franky
Danke, das klingt ja gut - da muss ich mal meinen Tektronix-Emulator mal auf ein V 1.4 Board aufspielen und ggf. die Libraries aktualisieren. Mal sehen, was damit herauskommt.
Oder sollte das mit einem V1.2 board auch mit dieser Auflösung gehen? Dann müsste ich nochmal die "modeline" vergleichen. Das V1.2 board habe ich halt schon in einem schönen Gehäuse verbaut, die 1.4 liegen hier noch kalt und nackt herum.
Hat der Fabrizio das auf 640x480 oder gar höher gebracht? Am liebsten hätte ich 800x600
nach der neuen GraphicsAdapter.class sieht es fuer
CGA nach 640*400 und
HGC (Hercules) 720*348
aus.
Wobei ich den Hercules-Mode noch nicht gesehen habe auf meinem Bilschirm.
Ich weiss nicht ob der schon komplett umgesetzt ist, denn ich konnte nicht erkennen im Video ob das Win 3.0 in CGA oder HGC gestartet wurde
Franky mit dem aktuellen https://github.com/fdivitto/FabGL/archive/master.zip
vom 28.02.2021 laeuft der PC-Emulator schon stabiler.
Er spielt hier schon den ganzen Tag 3D-BlockOut ohne abzustuerzen (vorher gabs immer mal wieder CGA-Schnee oder Division by zero).
Allerdings verhaelt sich TIME und TIME$ unter GW-BASIC sehr komisch
Das passiert dann nach ca. 65.47 Sekunden
Alles anzeigenHat der Fabrizio das auf 640x480 oder gar höher gebracht? Am liebsten hätte ich 800x600
nach der neuen GraphicsAdapter.class sieht es fuer
CGA nach 640*400 und
HGC (Hercules) 720*348
aus.
Wobei ich den Hercules-Mode noch nicht gesehen habe auf meinem Bilschirm.
Ich weiss nicht ob der schon komplett umgesetzt ist, denn ich konnte nicht erkennen im Video ob das Win 3.0 in CGA oder HGC gestartet wurde
Danke, da muss ich noch gelegentlich mal nachsehen. Mit meiner alten Version konnte ich zwar z.B. 640x400 per "mode-line" einstellen, dargestellt wurden aber nur 350 Zeilen und dann scrollte der Ausschnitt, wenn ich mich recht erinnere.
Generell ist das Video-Timing natürlich zeitkritisch und damit beschränkt, wenn die CPU auch noch was anderes tun soll außer ein Grafiksignal zu erzeugen.
aktuelle FabGL-commits vom 11.03.2021 verbessern
- CAPSLOCK bei anderen Keyboard-Layout
- groesserer Stack fuer Scancode to Virtual-Keyboard
UND
- komplett neu geschriebene PS/2 Unterstuetzung:
Zitat- rewritten ULP code from scratch (experimental)
- improved PS/2 keyboard and mouse reliability (no more clashes)
- removed PS2Controller.waitData, injectInRXBuffer, suspend() and resume()
- added PS2Controller.enableRX() and disableRX()
- added PS2Device.syncError(), CLKTimeOutError()
Es gibt jetzt (nach den ganzen Verbesserungen die ganze Zeit) auch Support fuer
PC-Speaker-Sound (aktuell auf der GitHub-Seite durch master.zip - nicht durchs normale Release/Library in Arduino-IDE)
Also die Library aktualisieren mit dem GitHub master.zip
Die normalen Toene in 3D Blockout gehen - die "anspruchvollere" PC-Speaker Music will noch nicht ganz.
"Leider" noch kein Boot-Beep
Mit dem Commit von heute klappt in GW-BASIC auch die Nutzung von den Variablen TIMER & TIME$ sauber
Nebenbei haben wie ganzen Arbeiten an den Tastatur-Dateien dazu gefuehrt, dass nach laden der deustchen Tastatur unter MS-DOS 6.22 mit KEYB GR auch die ganze deutsche Tastatur nutzbar ist. Vorher hatte ich einige "tote" Tasten
guidol : Weißt Du eigentlich ob die serielle Schnittstelle schon implementiert wurde oder wird? Wäre ultracool auf dem Teilchen eine Mailbox aufzuziehen oder ein altes Telix laufen zu lassen...
weiss ich bis jetzt leider nicht.
Der TTL serielle Port wird wie bei RunCPM nicht nutzbar sein wegen der Ueberlagerung der GPIO Pins mit der SDCard
Gesehen habe ich nur, dass der PC-Emulator DEBUG-Ausgaben ueber den USB-serial-Port macht.
Wenn er dies auf COM1 zur Nutzung umbiegen koennte, dann waere es moeglich eine Modem-Emulation auf einem Raspberry Pi zu nutzen