About 5 months development time for the first public version. (0.5)
About the half of the first version was written from scratch, the rest was ported from various UAE-sources.
The first version had ~13.000 lines of code, currently ~23.500, most new code is ported from WinUAE.
History
0.8.3 (22.03.2015)
Audio
Fixed a heavy bug i added myself around v0.6-0.7 on the seek for other bugs. Big thanks to 'Ralf Sommer'.
Dropped usage of the ring-buffer and wrote a new and faster queue-buffer.
The audio-data is now first sampled at 15.65KHz and then resampled to
the rate of the soundcard. This does reduce internal CPU-usage.
Removed 'Audio/Samplerate' in the GUI, because it's no longer used.
Events
Fixed a bug in combination with frameskip.
Frameskip is now disabled by default.
Common
Updated AROS-ROMs to actual version SVN50213.
0.8.2 (10.01.2015)
Audio
Fixed 'WebAudio'-output. All other dropped. Thanks 'dmcoles'.
Some speed optimizations.
CPU
Fixed a bug in the DIVS-function in combination with negative numbers. Thanks 'dmcoles'.
Common
Removed old copyright statements in the source files. Thanks 'swinkamor12'.
0.8.1 (19.01.2013):
Common
The license of the project is now GPL.
Changed and updated front-end.
Removed the drivers-info box. I did'nt like it that way.
0.8.0 (16.01.2013):
Display
Ported and optimized playfield-code from WinUAE.
This adds ECS and AGA support and fixes graphics-errors.
The AGA part is commented out, because there is no 68020 yet.
Added support for drawing via 'Canvas 2D' if 'WebGL' is not avail.
Added support for auto-driver detection.
Audio
While disk access, audio performance is much better now.
Added support for the A500 lowpass-filter. Not enabled by default.
Added support for auto-driver detection.
Memory
To gain speed, all memory is now accessed directly and not via functions.
So, don't care for a possible illegal memory access.
Fixed bug, where kickstart 1.2 failed to load.
Fixed incorrect extended-address bug.
CPU
Splitted address-types of ADDQ/SUBQ into separate functions for more speed.
Added bus-read/write cycles tables. For internal use only.
CIA
I decided to port the latest cia-code from WinUAE while i was trying to find a bug.
Well, the bug is still there. Let's keep the code nevertheless.
GUI
Added info box of supported drivers.
Added a 'Chipset'-section and various options.
Packed the main GUI.
Common
Added support for easy URL sharing. E.g. to show the Multica-demo to a friend,
one may send the link "http://scriptedamigaemulator.net/#Multica"
and the demo will start immediately. (thanks mrdoob)
Many small optimizations.
0.7.0 (24.12.2012):
Common
Chaned the project-name from 'Janus' to 'SAE' (Scripted Amiga Emulator).
This step is necessary because i did'nt enough research before the initial release.
There is already a project with that name in it. (janus-uae)
I'm sorry for that, that was kinda stupid :)
Separated the GUI form the core and rewrote most of it.
Simplified the whole code. This means, that functions are called faster.
Ported new Copper-, Blitter-, Audio-, Disk- and event-handling code from WinUAE 2.5.0
Moved all "beam-functions" to events.js, for faster access.
Added "CPU-usage" to the GUI.
Added "Hall of Fame".
CPU
Added support for exact cycling. The CPU have now 7.09 MHz on PAL and 7.16 MHz on NTSC resp.
Added option for "Original"- and "Maximum"-speed.
Audio
Added a ring-buffer before output. No more "bagpipe"-like audio.
Added a option to just emulate the hardware, but not to play any sound,
e.g. "Agony" was not starting, if audio was disabled.
Display
Switched from the RGB to the 565 texture-format-encoding in WebGL, which gives a little more speed.
Added support and a option for 4x scaling.
Fixed screen-draging in lo-/hires-modes.
Added a option to disable the output. Can be used to better play music-demos.
Disk
Added support for different speed-modes.
Added support for extended ADF-files.
Enabled write support. (to memory)
Input
The F-keys does work normaly now, i.e F5 does'nt reload the emulator, backspace does'nt go to the last page, etc...
Fixed bug in the joystick-emulation.
0.6.1 (05.11.2012):
CPU
Added missing TAS command. ('Wings of Death' game does use it)
ROM
Added a crc32-checksum test after download. (AROS)
Changed transfer-mode from syncronous to asyncronous. (AROS)
Display
Optimized the line-drawing code of the blitter.
Fixed decision whether the resulting image is scaled or not. ('Agony' game)
Disabled 'Framedrop' in interlace-mode.
Misc
Fixed HTML5 doctype.
Added ver/rev to the title.
Changed revision to 3 digits.
0.6 (25.10.2012):
ROM
Added support for extended-roms.
AROS kickstart replacement is now the default-rom, and will be downloaded and used on the fly.
RAM
Changed internal memory alignment from 8 to 16 bit.
Added fast-ram support, through a emulated Commodore A2058 in Zorro2-mode.
Removed the D8DC-memory-option from the GUI. This memory space is now always allocated.
Sorted access of the memory-routines by priority.
CPU
Fixed sign-extension for memory to address-register transfers in MOVEM.
Fixed sign-extension for absolute-word addresses in exEA.
Fixed wrong address when writing a byte to the stack in ldEA.
Fixed 32bit calculations for address-regsiters in ADDQ/SUBQ.
Fixed remainder calculation in DIVU.
Optimized integer-arithmetic functions. Size depending calcalations are now used.
Improved exception 2/3 handling.
More small cleanups not listed here.
Disk
Ported latest disk-code from WinUAE. Disk-based problems should be gone now, e.g. floopy shown as BAD or read errors.
Diskchange does now work.
Drives can be disabled now.
DD/HD types are now supported.
Display
Added missing support for HAM6.
Fixed horizontal and vertical screen-centering.
Fixed screen-draging, almost, read the "Known bugs" section.
Added better screen-scrolling.
Input
Fixed key-mapping to the amiga key-layout, at least in Chrome. Firefox does not like "öäü", it seems.
Added support for individual configurations of joystick-movement and fire-buttons.
Fixed bug, that made the fire 1 button on joystick 0 not working.
Fixed bug in the mouse-movement function, that calculates the wrong coordinates in some cases.
GUI
Added eject-button in the disk-change requester.
Removed the CPU and OCS/ECS options. They are useless so far.
The "Pause" and "Resume" buttons are once now.
Made some options to only apear when selected.
Did some cosmetics.
Misc
Added support for Zorro2-expansion cards.
Added a more precise event-handling. This makes the audio-output a little smoother.
Changed the ratio of CPU-/Chipset-time from 1:8 to 1:4
Fixed a bug in the RTC. "Year" is now calculated correctly.
Fixed incorrect response of serial.device. Now crashed programms does reset (and show the guru), instead of idle.
Any output on the serial.device is now redirected to the debug-log. (dev only)
Kickstart/Workbench 2.04 and AROS does now work.
Overall about 10-30% more speed, as long as the blitter is not used too much.