amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

[Login] [Register] [Forgot your password?]

< Next messagePrior message >
16.Jul.2016
Rupert Hausberger (ANF)


Javascript: Scripted Amiga Emulator 0.9.0
Rupert Hausberger's "Scripted Amiga Emulator" is written in Javascript and HTML5. Among many changes in version 0.9.0 there are usability of Amiga Forever ROMs, emulation of 68020/68030 CPU and AGA chipset and support of HDF and Extended ADF files as well as Mac emulators ShapeShifter and A-Max.

Features:
  • Models
    • A1000/A1000-Velvet (new)
    • A500/A2000
    • A500+
    • A600 (new)
    • A1200 (new)
    • A3000 (partial, new)
    • A4000/030 (partial, new)
  • CPUs
    • 68000
    • 68010 (new)
    • 68020/68030 (new)
      • 32-bit support.
      • Cache support.
      • Prefetch support.
    • Variable speeds.
  • Chipset
    • Original-Chip-Set (OCS)
      • A1000-Agnus (8361 PAL, 8367 NTSC) emulation. (new)
    • Enhanced-Chip-Set (ECS)
      • Partial (Agnus/Denise only) or full emulation. (new)
    • Advanced Graphics Architecture. (AGA) (new)
    • PAL/NTSC-regions.
    • Sprites-only or full collision-detection.
    • Full blitter support.
    • Full copper support.
    • Full gayle support (A600/A1200) (new)
      • IDE
      • PCMCIA
    • Real-Time-Clock (RTC) types
      • MSM6242B
      • RF5C01A
    • Complex-Interlace-Adapter (CIA):
      • Different Time-Of-Day (TOD) sources. (Vertical Sync/Power Supply) (new)
      • ROM overlay emulation. (maps ROM from e.g. 0xf80000 to 0x000000 at reset) (new)
      • A1000 Velvet prototype CIA (6526) emulation. (new)
  • RAM
    • 256-2048K Chip-ram. (0x000000)
    • Up to 1536K Slow-/Bogo-ram. (0xC00000)
    • Up to 64M onboard Fast-ram for A3000/A4000. (new)
    • Up to 8M Zorro2 expansion Fast-ram. (0x200000)
    • Up to 8M Zorro3 Chip-ram. (new)
    • Up to 1024M (1G) Zorro3 expansion Fast-ram. (new)
    • 512K Chip-/512K Bogo-ram to 1024K Chip-ram aliasing. (new)
    • 24-/32-bit support. (32-bit memory is required for original A3000/4000-roms and emulation) (new)
  • ROM
    • All kinds of standard and extended kickstart roms.
    • Support for encrypted Cloanto-roms. (Amiga Forever) (new)
    • Special A1000 kickstart handling. (new)
    • ROM-patcher, which does remove unneeded resident libraries. (new)
    • ROM-mirroring. (mirrors ROM to 0xA80000 or 0xE00000) (new)
    • ShapeShifter-support. (new)
    • AMAX-support. (Mac emulator) (new)
    • ROM-info from internal database. (new)
  • Floppy
    • Supported diskimage-types
      • Standard ADF, read/write (*.adf)
      • Extended ADF (EXT1/EXT2), read/write (*.adf) (new)
      • PCDOS, read/write (*.img) (new)
      • DMS (DiskMasher), read only (*.dms) (new)
      • SCP (SuperCardPro), read-only (*.scp) (new)
      • EXE, read-only (*.exe) (new)
    • Up to 4 Double-/High-density drives. (DF0-DF3)
    • Variable drive-speeds. (Original-Turbo).
    • Drives are write-protectable. (new)
    • Diskimage creation feature. (new)
  • Mount (new)
    • Supported hardfile-types
      • Standard, read/write (*.hdf)
      • Virtual, read/write (*.vhd)
    • Up to 4 Onboard-IDE units (IDE0-IDE3) with supported ATA-modes
      • ATA 1
      • ATA 2
      • ATA 2 Strict
    • PCMCIA-slots, configurable as
      • SRAM
      • HDD
    • Units are write-protectable.
  • Video
    • HTML5 WegGL- or Canvas2D-rendering.
    • 2/4 bits-per-pixel modes. (new)
    • Lores-/Hires-/Superhires-types.
    • Doublescan-types.
    • Frameskip. (renders every 2nd frame only)
    • Centering. (new)
  • Audio
    • HTML5 WegAudio-processing.
    • Samplerates from 11025-48000 Hz.
    • Mono or Stereo.
    • Lowpass filter for A500/A1200. (A1200 new)
    • Variable Stereo-channel separation. (new)
    • Different interpolation modes (Anti, RH, Crux) (Anti new)
  • Ports
    • HTML5 mouse-position and buttons import.
    • HTML5 keyboard import.
    • Joystick emulation via keyboard.
    • Mapping of some special keys for pinball-games.
    • Serial-port. (output to developer-console)
Changes in version 0.9.0 (15.07.2016)
  • CPU
    • Completely rewrote the core.
    • Added support for the 68010. (5 instructions, 3 registers)
    • Added support for the 68020. (27 instructions, 2 registers)
    • Added support for the 68030. (4 instructions)
    • Exploded each instruction to it's own size-form and sometimes additionally to it's type form.
    • For faster access, each instruction does now have it's customized parameter-object.
    • Effective-address access and decoding are now done via 6+1 highspeed function-tables, each 64 entries long.
      This does save up to 12 (3*2*2) switch statements per instruction.
    • Condition-code checking is now done via a 16 entries long function-table instead of a switch-function with 16 entries.
    • Optimized condition-code calculations.
    • Fixed/removed DIVU-remainder calculation, also new and faster DIVS.
    • New and faster versions of ABCD, NBCD, SBCD, ASL, ASR, LSL, LSR, ROL, ROXL, ROR, ROXR.
    • Fixed MOVEP instruction.
    • Fixed all 68000/68010 execution-time calculations.
    • Program-counter calculations are not hardcoded any more.
    • Ported high-level functions from actual WinUAE.
  • General
    • Re-ported and optimized the following parts from actual WinUAE:
      Audio, Blitter, CIA, Config, Copper, CPU-highlevel, Custom, Disk, Drawing, Events,
      Expansion, Filesys, Gayle, Hardfile, IDE, Memory, Roms, Playfield, RTC and Serial
  • Chipset
    • Custom-chip registers are now accessed via a 256 entries long function-table instead of a switch-function with 256 entries.
    • Added support for the A1000-Agnus.
  • CIA
    • Added support for different TOD sources.
    • Added support for ROM overlay.
    • Added support for A1000 Velvet prototype.
  • Blitter
    • Minterms are now calculated via a 256 entries long function-table instead of a switch-function with 256 entries.
  • RAM
    • Added Zorro3 and 32bit support.
    • Added support for chip-/bogo-ram aliasing.
    • Access is now done via function-tables (banks) instead of area-selecting switch-functions.
  • ROM
    • Added support for encrypted Cloanto-roms. (Amiga Forever)
    • Added special A1000 kickstart handling.
    • Added ROM-patcher, which does remove unneeded resident libraries.
    • Added support for ROM-mirroring.
    • Added ShapeShifter-support.
    • Added a ROM-info page.
    • Updated AROS-ROMs to actual version SVN52764.
  • Floppy
    • Added 3.5" DD ESCOM and 3.5" DD/HD PC only drive-types.
    • Added support for the diskspare-format.
    • Added support for PCDOS-images.
    • Added support for DMS-images. (DiskMasher)
    • Added support for SCP-images. (SuperCardPro)
    • Added support for EXE-images.
    • Disk can now be inserted from the database.
    • Drives are now write-protectable.
    • Added a disk-info page.
  • Mount
    • Added support for hardfiles. (*.hdf/*.vhd)
    • Added support for Onboard-IDE (A600/A1200)
    • Added support for PCMCIA-slots (A600/A1200)
    • Units are write-protectable.
  • Playfield
    • Added AGA-support.
    • Added support for 16 bits-per-pixel (R5G6B5) rendering.
    • Got rid of an internal temp-buffer. So in WebGL-mode, we render to the texture directly now.
    • Added options for video-centering.
  • Video
    • The output-driver is now selectable.
    • Added support and options for brightness, contrast and gamma.
    • Added alpha-channel support.
    • Added line-change indicator. (debug)
  • Audio
    • Added "Anti"-samplehandler.
    • Added A1200 lowpass-filter.
    • Added support for stereo-channel separation.
    • Rewrote handling of WebAudio-stuff.
  • Events
    • If supported by the browser, timing-functions does use performance.now() instead of Date.now(),
      which increases the precision by the factor of 1000.
    • Optimized switching between pause/run. Thanks 'majcherek2048'.
  • Input
    • Added distinction between left/right shift/alt keys. The config-entry "Map L/R-Shift to L/R-Arrows" is gone.
  • Config
    • Completely reworked the advanced config page.
    • Changed all SAEV_Config_* to SAEC_Config_* to match the new namespace. Sorry for that :/
    • Many new options. Not listed here, see sae/config.js for details.
  • API
    • Deprecated and removed the old API function "SAE()". We're on javascript, so let's use: (new API)
      "var sae = new ScriptedAmigaEmulator(); [...] var error = sae.start(); [...]" See index.js for details.
    • Reworked error-handling for API-calls. Now an error-code (SAEE_*) is returned on any API-call.
  • Common
    • Introduced global functions, references, variables and constants for more speed. See sae/amiga.js for details.
    • Moved all entries from constants.js to their specific place and renamed them to match the new global name-space.
    • Updated asynchronous file-transfers to latest standards.
    • Added proper GPL-header to the source-files.
    • Moved the "Your game and demo..."-section from the main-site to the readme.
    • Fixed linkage to contributors websites.
    • Added SAE-specific-links to the info-box in the main-page.
    • Added an disassembler tool.
      "var sda = new ScriptedDisAssembler(); [...] var result = sda.disassemble();" See disass.js for details.
(snx)

[News message: 16. Jul. 2016, 05:25] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
< Next messagePrior message >

.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2022 by amiga-news.de - all rights reserved.
.