x16-emulator r39 is released. This is an emulator for the Commander X16 computer system. It only depends on SDL2 and should compile on all modern operating systems.
x16-emulator changelog:
Main differences:
Switch to Proto2 Hardware
banking through zp addresses 0 and 1
modified I/O layout
modified VIA GPIO layout
support for 4 controllers
I2C bus with SMC and RTC/NVRAM
ROM Changes:
SD card and banked LOAD fixes
320x240 framebuffer (mode $80/128)
80x30,40x60,40x30,40x15,20x30,20x15 text modes
more powerful keyboard APIs
full SNES-like keyboard joystick
BASIC LOCATE
CodeX Interactive Assembly Environment
macOS emulator is now universal Intel/ARM, Windows emulator is now 64 bit
Compatibility notes: You'll need to update your code if you
changed ROM or RAM banks by writing VIA registers (it's $00/$01 now)
accessed VIAs directly (different location)
used SCREEN or JOY in BASIC, the API has changed
used screen_set_mode, the API has changed
used the floating point Math library, the API has changed
See the Programmer's Reference Guide for details.
Emulator:
Features
implemented VIA timers [Natt Akuma]
added option to disable sound [Jimmy Dansbo]
added support for Delete, Insert, End, PgUp and PgDn keys [Stefan B Jakobsson]
debugger scroll up & down description [Matas Lesinskas]
added anti-aliasing to VERA PSG waveforms [TaleTN]
Bugs
fixed sending only one mouse update per frame [Elektron72]
fixed VSYNC timing [Elektron72]
switched front and back porches [Elektron72]
fixed LOAD/SAVE hypercall so debugger doesn't break [Stephen Horn]
fixed YM2151 frequency from 4MHz ->3.579545MHz [Stephen Horn]
do not set compositor bypass hint for SDL Window [Stephen Horn]
reset timing after exiting debugger [Elektron72]
don't write nvram after every frame
fixed write outside of line buffer [Stephen Horn]
fixed BRA extra CPU cycle [LRFLEW]
fix: clear layer line once layer is disabled
fixed BBSx/BBRx timing [Natt Akuma]
Other
misc speed optimizations [Stephen Horn]
ROM:
KERNAL
Adaptation to match Proto 2 Hardware
support for 4 SNES controllers
512 KB ROM instead of 128 KB
new I/O layout
PS/2 and SNES controller GPIOs layout
banking through $00 and $01
Proto 2 Hardware Features
I2C bus (driver by Dieter Hauer, 2-clause BSD)
SMC: reset and shutdown support
RTC: DA$/TI$ and KERNAL APIs bridge to real-time-clock
Screen Features
New screen_mode API allows setting and getting current mode and resolution
support for 320x240 framebuffer (mode $80/128) [with gaekwad]
added 80x30,40x60,40x30,40x15,20x30,20x15 text modes (note new numbers!)
Keyboard Features
added KERNAL vector to allow intercepting PS/2 codes [Stefan B Jakobsson]
added kbdbuf_peek, kbdbuf_get_modifiers, kbdbuf_put API
Other Features
support for LOADing files without 2-byte PRG header [Elektron72]
support for LOAD into banked RAM (acptr and macptr)
support BEL code (PRINT CHR$(7))
keyboard joystick (joystick 0) supports all SNES buttons
support for 4 SNES controllers (joystick 1-4) [John J Bliss]
Bugs
fixed crash in FB_set_pixels for count>255 [Irmen de Jong]
fixed bank switching macros [Stephen Horn]
fixed preserving P in JSRFAR [CasaDeRobison]
fixed race condition in joystick_get [Elektron72]
removed ROM banking limitations from JSRFAR and FETVEC [Elektron72, Stefan B Jakobsson]
fixed disabling graphics layer when returning to text mode [Jaxartes]
fixed default cursor color when switching to text mode
reliable mouse_config support for screen sizes
Math
renamed "fplib" to "math"
made Math package compatible with C128/C65, but fixing FADDT, FMULTT, FDIVT, FPWRT
BASIC
Features
added BIN$ & HEX$ functions [Jimmy Dansbo]
added LOCATE statement
Bugs/Optimizations
removed extra space from BASIC error messages [Elektron72]
fixed DA$ and TI$ when accessed together or with BIN$()/HEX$() [Jaxartes]
fixed null handling in GET/READ/INPUT [Jaxartes]
fixed bank setting in VPOKE and VPEEK [Jaxartes]
fixed optional 'color' argument parsing for LINE, FRAME, RECT
DOS
reliable memory initialization
fixed writing LFN directory entries across sector boundary
fixed missing partitions ($=P) if type is $0B
fixed loading to the passed-in address when SA is 0 [gaekwad]
fixed problem where macptr would always return C=0, masking errors
GEOS
text input support
CodeX
integrated CodeX Interactive Assembly Environment into ROM [mjallison42]
Download: x16-emulator r39
Source: Here
0 Comments
Post a Comment