Releases: fdivitto/FabGL
Releases · fdivitto/FabGL
v1.0.9
- 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
v1.0.7
- 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
v1.0.5
- 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
- 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
- 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
- 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
- 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
- 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