Skip to content

Releases: fdivitto/FabGL

v1.0.9

29 Aug 15:13
Compare
Choose a tag to compare
  • Added PC8250 class (Universal Asynchronous ReceiverITransmitter emulator)
  • Terminal: removed support for Arduino and internal serial port
  • Terminal: added support for BREAK signal
  • added BASIC demo programs as ASCII files
  • fixed modeline parser (doesn't parse additional parameters when V and H sync is not specified)
  • Display controllers: added support for double buffering suspension
  • Added support for TTGO T-Display V1.1 (class TTGOTDisplayV11Controller)
  • img2bitmap, improved color extension and python3 friendly
  • Added SerialPort class
  • Added SerialPortTerminalConnector class
  • Multitasking CP/M: support for out-of-terminal serial port
  • Multitasking CP/M: added TERM USB new command
  • AnsiTerminal: added new baud rates
  • AnsiTerminal: fixed crash if no mouse is configured
  • AnsiTerminal: use of PS/2 port as serial port (5V levels, RX/TX only)
  • PC Emulator: allow to download of images from https and from redirects
  • PC Emulator: added experimental support for serial port
  • PC Emulator: fixed BIOS int14 initialization bug
  • PC Emulator: increased SD card speed on running machine (without WiFi)
  • PC Emulator: improved disk change support
  • PC Emulator: added "Restart Machine" option in SysReq menu
  • removed unnecessary IRAM code (allow to compile with core 2.0.4)
  • improved core 2.0.0 compatibility

v1.0.8

23 May 18:58
Compare
Choose a tag to compare
  • improved PlatformIO compatibility

v1.0.7

22 May 09:17
Compare
Choose a tag to compare
  • general improvements and bugfixes
  • CVBS: optimized CPU usage and bug fixes
  • CVBS: monochrome can be switched while running
  • CVBS: added progressive PAL wide mode
  • CVBS: added progressive NTSC wide mode
  • CVBS: added BaseExample demo
  • CVBS: added NTSC 240p mode
  • bugfix: MCP23S17, clean exit when no MCP23S17 is found (WROVER-E)
  • frame buffer allocation: improved strategy to allow more lines
  • UI: memory footprint optimization
  • UI: Added uiStaticLabel control
  • Audio: rewritten audio generator code (save more than 4K of memory)
  • Audio: fixed compatibility with ESP32 core >2.0.0
  • Audio: added support for Sigma-Delta audio generation
  • Added SoundChipSimulator example (by Carles Oriol)
  • Added Norwegian keyboard layout (thanks to Knut Zakariassen)
  • AnsiTerminal: adjusted some resolutions to work with lower free memory
  • SpaceInvaders: now can work with just a mouse or just a keyboard
  • Terminal: fixed UART compatibility with core >2.0.0
  • Terminal: simplified connectSerialPort() serial parameters avoiding use of UARTConf
  • Terminal: avoid use of "struct" registers when writing
  • Terminal: added 3 stop bits option
  • Terminal: bugfix, cannot open dialog when CTS/RTS Flow Control is selected
  • Added ttf2header.py to convert TTF fonts to FabGL headers
  • Added Japanese keyboard layout (thanks https://github.com/bellTanTan/fabglKeyboardJapaneseLayout)
  • PC Emulator: better modeline for Hercules emulation
  • PC Emulator: improved timer accuracy
  • PC Emulator: reduced memory footprint

v1.0.6

18 Mar 21:37
Compare
Choose a tag to compare
  • fixed compatibility with ESP32 core >= 2.0.1
  • PCEmulator: 8086 CPU speed optimizations
  • PCEmulator: improved 8086/80186 emulation
  • added CVBS16Controller for composite video output (experimental)

v1.0.5

19 Oct 08:23
Compare
Choose a tag to compare
  • fixed several bugs
  • general improvements
  • more ESP32 core 2.0.0 friendly
  • improved MCP23S17 class
  • VGA signals: default VisibleArea instead of FrontPorch
  • VGA: improved some modelines
  • improved InputBox class with additional dialogs (file browser, file selector, ...)
  • PCEmulator: chosen 640x480@60Hz as default modeline
  • PCEmulator: configuration loaded from mconfs.txt
  • PCEmulator: added configuration dialog
  • PCEmulator: selection of disk images using dialog boxes
  • PCEmulator: added MCP23S17 I/O extender support
  • PCEmulator: CTRL-ALT-DEL resets just the emulated machine
  • PCEmulator: SYSREQ (ALT+PRINTSCREEN) shows running machine menu
  • PCEmulator: now it is possible to mount floppy disk while running
  • PCEmulator: RTC synchronized just on ESP32 poweron
  • PCEmulator: rewritten disk access routines to allow boot from HDD or floppy
  • PCEmulator: added support for additional floppy images (160KB, 180KB, 320KB, 360KB, 720KB, 1200KB, 2880KB)
  • PCEmulator: improved 8253 timer emulation. Now benchmarks are more realistic
  • PCEmulator: added parameters to configure HDD geometry
  • PCEmulator: added new machine configurations (GEM 3, GEOS 2, MSDOS 5.00, MSDOS 6.22, SvarDOS)
  • UI: better support for lower color depth displays
  • i8086: improved emulation
  • UI: added fileDialog (open/save dialog)
  • UI: added uiSimpleMenu control
  • UI: added uiSplitButton control
  • UI: combobox items can overlap parent window borders
  • VGATextController: font is now selectable

v1.0.4

01 Aug 07:38
Compare
Choose a tag to compare
  • Terminal and AnsiTerminal: implemented hardware flow control (RTS/CTS)
  • AnsiTerminal: added RTS and CTS status indicators. RTS is clickable to change its state
  • added French keyboard layout
  • added Belgian keyboard layout
  • added codepages support classes
  • implemented translation of codepages 437 and 1252 to ASCII
  • Terminal: added codepages support
  • UI: added codepages support
  • HardwareTest: added tests for MCP23S17 I/O expander
  • AnsiTerminal: added CTRL-ESC and button in dialog to reboot
  • fixed several bugs
  • several minor improvements

v1.0.3

23 May 21:23
Compare
Choose a tag to compare
  • fixed several bugs
  • added IBM PC Emulator example
  • rewritten ULP code from scratch (PS/2 controller)
  • improved PS/2 keyboard and mouse reliability (no more clashes)
  • UI: added uiProgressBar
  • Added InputBox class to simplify build of UI wizards
  • Added InputBox example
  • added MCP23S17 class (SPI 16 bit port expander)
  • added PIT8253 (Programmable Interval Timers)
  • added PIC8259 Programmable Interrupt Controller
  • added i8042, PC keyboard controller
  • added MC146818 class (PC RTC-CMOS)
  • added i8086 (8086 CPU emulator)
  • added GraphicsAdapter class
  • split ALT into left-ALT and right-ALT
  • now international combinations ALT+KEY are handled only using RALT
  • now ALT+KEYPADNUM is handled only using LALT
  • keyboard: when NUMLOCK is ON, pressing SHIFT + KEYPAD generated cursor control virtual keys
  • Keyboard: LALT+KEYPADNUM works also when NUMLOCK is OFF
  • PS2Device: now sendCommand is public
  • Keyboard: CTRL or SHIFT TAB will not generate ASCII
  • Keyboard: with CAPSLOCK ON, letters will be lowercase when SHIFTed
  • Keyboard, bugfix: now setLEDs is consistent with getLEDs
  • added compatibility with IDF 4.1.1
  • PS2Controller: added suspendPort() and resumePort()
  • PS2Device: added suspendPort() and resumePort()
  • removed PS2Controller.waitData, injectInRXBuffer, suspend() and resume()
  • added PS2Controller.enableRX() and disableRX()
  • added PS2Device.syncError(), CLKTimeOutError()
  • Canvas: Reset() now reset also Origin, ClippingRect and horizontal rate
  • Keyboard bugfix: keypad, with NUNLOCK on, DEL doesn't return Dot
  • PS2Preset (PS2Controller.begin() method), added KeyboardPort1_MousePort0, KeyboardPort1 and MousePort1 enum values
  • Terminal: added setColorForAttribute, to select (alternate) colors for Bold, Italic, Faint and Underline attributes
  • Terminal: added soundGenerator() method
  • added compatibility wth Arduino ESP32 ver >=1.0.5
  • Added support for WROVER based boards (SD Card pins default configuration)
  • AnsiTerminal: added option to communicate with USB Serial (thanks to Guido Lehwalder)
  • Mouse: added getPacketSize(), packetAvailable() and getNextPacket()
  • Altair8800, use of different colors for styles
  • VIC20: improved wifi connection and download speed
  • UI, EditBox, added passwordMode property
  • UI: listbox, now multiselect can be disabled
  • UI: listbox, select on mouse over (optional)
  • UI: added uiListBox::listBoxProps
  • added new modelines

v1.0.2

27 Jan 11:20
Compare
Choose a tag to compare
  • Keyboard: added support for ALT + keypad number to generate ASCII characters
  • Keyboard: removed numlock from keyboard layouts to fix a bug when NUMLOCK was down with SHIFTed or ALTed keys
  • Keyboard: added getNextVirtualKey() overload to get scancode and ASCII code associated to the virtual key
  • Keyboard: unified VK_PRINTSCREEN1 and VK_PRINTSCREEN2 into VK_PRINTSCREEN
  • keyboard: now SHIFT + special keys with NUM LOCK enabled or disabled are handled correctly
  • Keyboard: support for scancode set 2 to 1 translation when virtual keys are decoded
  • Keyboard: added scancodeSet() method
  • Terminal: implemented bell sound on CTRL-G
  • removed compiler warnings

v1.0.1

23 Jan 09:55
Compare
Choose a tag to compare
  • AnsiTermial: improved compatibility with slow hosts
  • Terminal: ADM-31, added new escapes
  • general optimizations and improvements and bugfixes
  • Keyboard: improved shifted-key release handling
  • VIC20: improved VIA6522 emulation for better keyboard and joystick handling
  • VIC20: initial implementation of IEC (disk drive). Now LOAD, SAVE and directory listing works
  • AnsiTerminal: added 640x480@60 Hz resolution (now the default)
  • Z80 and 8080 CPU emulation embedded into FabGL
  • some general code refactoring
  • added 720x400@70Hz, 320x200@70Hz and 720x348@73Hz modelines
  • added 9x16 font

v1.0.0

09 Dec 16:16
Compare
Choose a tag to compare
  • general improvements, optimizations and bug fixes
  • added VGA2Controller (2 colors, resolution up to 1280x768 black/white)
  • added VGA4Controller (4 colors, resolution up to 1024x768 with 4 colors)
  • added VGA8Controller (8 colors, resolution up to 800x600 with 8 colors)
  • added new modelines (1280x768, 1024x768, 800x600, 720x576, etc..)
  • improved PSRAM compatibility
  • added new 14 fixed width fonts for terminal
  • added UIWINDOW_PARENTCENTER to center windows and dialogs
  • avoid flickering by balancing cores
  • removed flickering with VGAxController display controllers
  • terminal: added custom escape sequences to control GPIOs, sound, graphics, sprites, mouse
  • terminal: improved ANSI standard compliance
  • ansiterminal: added sample Basic programs
  • added uiApp::runAsync() to run UI apps in different task
  • added HardwareTest example
  • support for TTGO 1.4 SD Card
  • removed Arduino.h dependencies
  • added VGADirectController class
  • added DirectVGA example
  • added Songs example (thanks to Carles Oriol)
  • added DirectVGA_ElMuro example (thanks to Carles Oriol)
  • added ClassicRacer (thanks to Carles Oriol)
  • added "SAY" text-to-speech program in Multitasking CP/M
  • implemented Spanish keyboard layout and dead keys (thanks to Carles Oriol)
  • VIC20: changes UI style and done general improvements
  • VIC20: improved keyboard emulation and change of layout
  • Altair8800: improved disk handling