top of page

0.22WIP2 / 24-05-2023





average rating is null out of 5
average rating is null out of 5
average rating is null out of 5

DSP is an open-source emulator which emulates multiple arcade machines, Spectrum, Phoenix, CPC, Colecovision and more..


Most Recent Changes


            +Fixed timings before internal timer call
            +Added some opcodes for 2xNOP and 3xNOP
            +Fixed timings before internal timer call
            +Some updates to internal procedures
   +Tape System
        -Added procedures to call before tape play and after play
        -Fixed WAV format tapes loading
        -Added Oric TAP file format support
        -Fixed main speed changes when a tape is playing
        -VIA6522: Added device
-Amstrad CPC
   +Enabled Z80 timings (fixes Saboteur II and many others)
   +Rewrited video to update screen pixel by pixel
   +Fixed tape loading with new Z80 timings
   +Black Onix: Added 24C08 eeprom
   +Boxxled: Added 24C256 eeprom
-Commodore 64
   +Swapped joystick 0 and joystick 1
   +Added F1 to start/stop tape loading
   +Fixed mapper 9
   +Added partial mapper 10 (thanks to Neville)
-Oric HW
   +Added support for tape loading, AY-8910 sound and keyboard
        -Oric 1: added driver with sound
        -Oric Atmos: added driver with sound
-Sega System 1/2 HW
   +Changed Z80 timings, fixes Pitfall II intro


   +Updated wiki
   +Updated preview images (thanks to Nevile)
   +Update SDL2 library to 2.26.5
        -NEC V20/V30/V33
            +Implemented sound timers
            +Added NMI
            +Added many EA types
            +Fixed PUSH/POP CPU flags
            +Added opcodes $0f18, $0f19, $0f1a, $0f1b, $0f1c, $0f1d, $31, $34, $68, $6a, $6b, $82, $8308, $8320, $8330, $8d, $91, $92, $93, $94, $95, $97, $c008, $c020, $c028, $c120, $c128, $c8, $c9, $d110, $d200, $d220, $d228, $d3, $e3, $e4, $ec, $ee, $ef, $f2a4, $f2a5, $f2af, $f618, $f620, $f630, $f720, $f728, $f730 and $f738
            +Added (again) functions to change CPU timmings
            +Fixed some timmings and timming calculation
        -Seibu sound
            +Rewrited and converted to class
            +Added internal Z80, ADPCM, sound chip and controls
            +Changed CPU mappers to internal
            +Removed fake adpcm, using standar MSM5205
            +Converted to class
        -Added i2c eeproms
   +File engine
        -Changed CRC variable to unsigned 32bits
-Amstrad CPC
   +Fixed keyboard matrix reads (Fixes 'Night Shade')
   +Added specific Z80 timmings, but breaks tape loading, so they are disabled
-Bloodbros HW
   +Added new seibu sound system
   +Added new seibu sound system
   +Added new driver, but have some CPU bugs, sounds fails and controls are not working
-Shadow Warriors HW
   +Shadow Warriors: added driver with sound
   +Wild Fang/Tecmo knight: added driver with sound
   +Added new seibu sound system
-Twins HW
   +Twins: added driver with sound
   +Twins (Electronic Devices): added driver with sound
   +Hot Block - Tetrix II: added driver with sound


   +Added some SDL2 functions to autoselect the best video format when switch to full screen
   +Fixed some export ROM data (thanks to Neville)
   +Fixed a stupid bug creating pixel buffer
            +Fixed opcodes divu and sbcd (thanks to Neville)
   +Added HOLD button
-Sega Master System
   +Fixed 'Pause' button, now works
-Mega System 1 HW
   +Fixed RAM byte write (fixes '64th Street - A detective story' protection)


   +Updated SDL library to 2.26.3
   +Updated preview images
   +Remove arcade keys when not using arcade drivers
            +Split read/write byte flags
            +Enhanced timings
            +Fixed opcodes addi.l, addq.l, sbcd.rr, abcd.rr, roxr.w, roxl.w, rol.w, asr.b, lsr.b, roxr.b, ror.b, asr.w, lsr.w, ror.w, asr.l, lsr.l, roxr.l, ror.l asl.b, lsl.b, roxl.b, rol.b, asl.w, lsl.w, asl.l, lsl.l, roxl.l, rol.l
            +Added movem.w $38 efective address
            +Added opcodes $38..$3f, $62, $63, $64 and $b1
            +Fixed external get/put byte with no function
        -fd1089: Updated decode functions
        -SEGA PCM: Added stereo
        -SN76496: Added stereo
        -VLM5030: Added stereo
        -YM2203: Added stereo
   +Updated key redefine names
        -'COIN' --> 'COIN/SELECT'
        -'START' --> 'P1/START' or 'P2/START'
   +Gauntlet: Renamed ROM zip to 'gauntlet'
   +Gauntlet II: Updated ROMs to v2
-Hang-On HW
   +Hang-On: added driver with sound
   +Enduro racer: added driver with sound
   +Space Harrier: added driver with sound, some sprite problems (M68000 bug?)
-Mega System 1 HW
   +Fixed all video issues
        -Fixed graphics layers
        -Fixed scroll
        -Fixed sprites
   +Fixed graphics decode
   +Rod Land
        -Updated ROMs
        -Added graphics decrypt
   +64th Street - A detective story: added driver with sound
   +Fixed tile buffer size and activation
   +Fixed missing sprites
   +Fixed tiles transparency
   +Fixed tiles priority
-Sega System 16A HW
   +Fixed graphics decode
   +Fixed sprite ROMs and decode to 16bits
   +Fixed tiles transparency
   +Fixed tiles priority (very obious in WB3 end zone)
   +Alien Syndrome: Updated fd1089 ROM decode key
   +Wonder Boy III: Updated fd1089 ROM decode key
-Sega System 16B HW
   +Fixed disabled screen
   +Fixed tiles transparency
   +Fixed tiles priority
   +Fixed tile buffer activation


   +Change between drivers is faster now
   +Fixed joystick SDL 2 support! Changed hint function before SDL init, and works with all SDL 2 versions (removed SDL 2.0.16)
   +Added start and coin/select in player redefinition page
   +Start and coin/select keys can be mapped to joystick buttons
-Sega Master System
   +Remapped 'Pause' button to coin/select button
-Sega Game Gear
   +Removed 'Pause' button (doesn't have it)


   +Find a bug on new releases of SDL 2 library, joystick stop working when main window loses focus. Changed to SDL 2.0.16, works fine with this version
        -Added SDL 2.0.16 for download
   +Enhanced joystick support
        -New redefine buttons system, select and press the button to use it
        -Rewrited joystick internal functions
   +Windows: Removed mouse cursor, slows down everything when enabled
   +Lazarus: Added 'follow me' window style. The main emulation window follows select window when it moves.
   +Added 3 extra players buttons, 'Street Fighter II' now works with all buttons
   +Better row scroll, still not working
-Super Duck
   +Added driver with sound
-Tiger Road
   +Added sprite buffer


  • General
       +Fixed - Emulator losses focus and keyboard stop working (Thanks to Neville)
       +Updated SDL library to 2.26.1

  • Coleco
       +Fire button 1 and 2 switched
       +Fixed error message loading a cartridge


  • -Lazarus
       +Fixed image preview error
       +Fixed linux sort games
       +Added check for SDL2 Mixer present, needed for linux and MacOS

  • General
       +Fixed - Emulator stops with no reason (Thanks to Neville)
       +Better console game files loading, better error handling
       +Better tape files loading, better error handling
       +Fixed remembering last open dir for all systems
       +Better fullscreen mode (Press F6)


  • General
       +Update preview images, added images for new drivers
       +Konami K051316
            -Begin implementation, still WIP
            -HD6309: Fixed opcodes $2c, $2d and $2f
            -Konami CPU
                  +Fixed opcodes $66, $67, $6e, $6f, $76, $77, $7e, $7f, $b4 and $b5
                  +Added opcodes $74, $bc, $be, $c6, $cc, $cd and $ce (Fixes 'The Simpsons', it's playable to the end)
            -M6809: Fixed opcodes $2c, $2d, $2e and $2f
        +Konami 053246
            -Fixed shadows
                  +Added gain per channel
                  +Fixed AY8912 PORTB channel

  • Ajax
       +Added K051316 video chip

  • Ambush
       +Added driver with sound

  • Kyugo HW
       +S.R.D. Mission: Added driver with sound
       +AirWolf: Added driver with sound

  • Mag Max
       +Added driver with sound

  • Nemesis HW
       +Rewrited screen flip, fixes TwinBee

  • The Simpsons
       +Fixed video settings
       +Added sprites dma interrupt enable/disable

  • Thunder Cross HW
       +Fixed sprites priority


  • General
       +Update preview images, added images for new drivers
       +Update SDL library to 2.24.1
       +Added sort options in game list menu. You can sort computers, Game & Watch, consoles and arcade (and arcade subtypes sport, run & gun, shot, maze, fight and drive)
            -Konami CPU: Fixed opcodes $6f, $76 and $7e. Fixes 'The Simpsons', which it's fully playable now.
        +Konami 052109
            -Fixed scroll, now 'Ajax' works fine.

  • China Gate
       +Added driver with sound

  • Side Arms
       +Added driver with sound

  • Speed Rumbler
       +Added driver with sound


  • General
       +Update preview images
       +New option for consoles, now you can choose if you want start the driver with the window for loading games open or not
       +Sound options simplified, now you can choose 'enabled' or 'disabled'
       +Fixed label 'load disk' in console cartridge 'open' icon, now shows 'load game'
       +If no game is loaded, shows a image, not just an empty window
       +Fixed window priority, if a option window is active, the window behind is disabled
       +Added some languaje translations in main config menu
       +Changed 'Show game list', 'Configure DSP' and 'Save screen' icons
       +Changed 'Show game list' and 'Configure DSP' position in main window
       +Sound: removed 11025Hz and 22050Hz sample quality, they are useless!
            -M6805: Added opcodes $21, $56, $6a, $7a, $7f and $c1

  • Amstrad CPC
       +If a CDT tape is loaded and there is no pause block at the beginning, a 2000ms pause is added to the virtual tape

  • Arkanoid
       +Added driver with sound (Not correct sound chip)

  • Renegade
       +Fixed input
       +Fixed sprites


  • General
       +Z80 CTC: converted to class
       +Added close function to many devices
       +Sound: Make internal sound buffer bigger
            -M6809: Added opcodes $01, $29 and $1X2e
                + Added opcodes $47,$c2,$c9,$d9,$f0 and $fb
                + Opcode $f3 is not for M6808

  • -Senjyo HW
       +Update driver to new CTC
       +Senjyo: Fixed ROMs export size (thanks to okurka)

  • MCR HW
       +Tapper: added driver with sound

  • Williams HW
       +Fixed sound
       +Joust: added driver with sound
       +Robotron: added driver with sound
       +Stargate: added driver with sound


  • General
       +Changed transparent color (fixes 'Thunder & Lightning' sprites)
                    -Fixed IRQs
                    -Fixed timers

  • Amstrad CPC
       +Fixed green monitor palette
       +Added green monitor brightness

  • Coleco
       +Fixed snapshot loading

  • Super Cassete Vision
       +Fixed remain issues
       +Fixed BASIC Nyuumon RAM

  • Ninja Kid II HW
       +Fixed sound init

  • Seta HW
       +Thunder & Lightning: added protection


  • General
        +Updated SDL library to 2.0.22
                +Added many, many opcodes and fixed many others
                +Added UPD7801 opcode timing tables
                +Fixed IRQs
                +Fixed outports

  • Amstrad CPC
        +Rewrited CRT video emulation
       +Added green monitor option
       +Fixed scroll hardware

  • Super Cassete Vision
       +Added video emulation
       +Added Sound
       +Added input
       +Added ROM banking
       +Everything moves slow... And I dont know why...


  • General
        +ROMs export
            -Fixed Sly Spy ROMs info (Thanks to Neville)
                +Added M1 raise signal (read opcode)
                +Added HD63701Y0 CPU
                +Fixed internal read/write registers
                +Fixed opcodes BHI and BLS (ouch!)
                +Added opcode RORA

  • Amstrad CPC
        +Speed up video
       +Dandanator added initial support

  • Black Tiger
        +Fixed MCU CPU clock
       +Added video HW specs

  • Commando
        +Fixed main CPU clock
       +Added video HW specs

  • Ghost'n Goblins
       +Added video HW specs

  • Gun.Smoke HW
       +Added video HW specs
    -The Legend of Kage
       +Rewrited video driver
            -Fixed proirity BG/FG/Sprites
            -Fixed disable screen

  • Outrun (Thanks to Neville)
        +Fixed palette
        +Fixed shadows

  • Senjyo HW (called StarForce before)
        +Fixed video buffer
       +Added BG stripe and radar
       +Added char flip
       +Added Senjyo driver with sound
       +Added Baluba-louk no Densetsu driver with sound

  • Super Dodgeball
       +Added driver with sound

  • Sega System 16A HW (Thanks to Neville)
        +Fixed palette
        +Fixed shadows

  • Sega System 16B HW (Thanks to Neville)
        +Fixed palette
        +Fixed shadows


  • General
        +Simplified drivers initialization
        +Deco BAC06
            -Added video buffer
            -Fixed sprite RAM size
            -Fixed row & col scroll
            -Now you can specify the source file (fixes sample load from 'New Rally X')
                +Added opcode 'ror.w' (fixes E-Swat)
                +Fixed opcodes LSR, ROR, LSRD, ASLD, DAA, BHI and BLS
                +Fixed flags from RTI (Fixes 'Knockle Joe')

  • Act Fancer
        +Updated ROMs
        +Fixed Sound CPU clock
    -Deco 0 HW
        +Fixed many graphics issues
        +Changed FPS, adjusted lines
            -Sly Spy: Added driver with sound
            -Bouder Dash I/II: Added driver with sound
    -Epos HW
        +The Glob: Added dip switches
        +Superglob: Added dip switches

  • Megazone
        +Fixed CPU clock
        +Fixed scroll
        +Updated ROMs names

  • Pengo
        +Added dip switches

  • Popeye
        +Fixed CPU NMI

  • Route 16 HW
        +Fixed DAC reset

  • Slapfigth HW
        +Removed sprites buffer
        +Added dip switches and P2 controls
        +Fixed video lines
        +Fixed IRQ generation
        +Fixed CPU memory map
        +Added sound CPU reset

        +Fixed YM2203 init

  • Twin Cobra HW
        +Added dip switches


Happy 20th aniversary!

More than 200.000 code lines
More than 300 arcade games
10 8bits computers
8 home consoles
19 CPUs emulated
29 sound chips

  • General
        +Updated SDL library to 2.0.20
        +Analog control: Addded selection of X or Y axis inverted
        +Started a new driver

  • Mr Do!
        +Fixed colors
        +Added dipswitch

  • Crystal Castles: Added driver with sound

  • Flower: Added driver with sound

  • Mr Do Castle Hardware
        +Mr Do Castle: Added driver with sound
        +Do! Run Run: Added driver with sound
        +Mr Do Wild Ride: Added driver with sound
        +Jumping Jack: Added driver with sound
        +Kick Rider: Added driver with sound
        +Indoor Soccer: Added driver with sound


  • General
                +Added I8042 CPU type
                +Fixed IRQs
                +Added opcodes $02,$08,$22,$35,$40,$41,$60,$61,$65,$86,$89,$8a,$90,$c7 and $d6
                +Fixed opcodes $10,$11 and $57

  • Sega GameGear
        +Added Master System video compatibility
        +Added CodeMasters Mapper extra RAM

  • NinjaKid II HW
        +Added dipswitches
        +NinjaKid II: Added PCM sound
        +Atomic RoboKid: Added driver with sound

  • StarForce
        +Updated ROMs names

  • Sega System 16a
        +Added PCM sound

  • The New Zealand Story HW
        +Extermination: Added driver with sound


  • General
        +Seta Sprites: Added new device
                +Added M65CE02 CPU type. Added many specific opcodes
        +Lens Lock
            -Fixed Amstrad decode mode
        +Seta X1-010
            -Added new sound device

  • Spectrum
        +Spectrum 16K/48K fixed screen timings

  • Dec0 HW
        +Super Real Darwin: Inverted coin input

  • Karate Champ
        +Added driver with sound

  • Pacman HW
        +Enhance IRQs
        +Ms Pac Man Twin
            -Added driver with sound

  • Renegade
        +Fixed dipswitches

  • Seta HW
            -Added driver with sound
        +Twin Eagle
            -Added driver with sound
        +Thunder & Lightning
            -Added driver with sound

  • StarForce
        +Fixed X scroll in background

  • The New Zealand Story HW
        +Rewrited video system, now uses Seta Sprite device


  • General
        +Joystick: Some changes to enhance configuration
    -Commodore 64
        +Snapshots: Initial support for VSF (Vice Snapshot File)

  • Burguer Time HW
        +Code cleaning
        +Burguer Time: Update decryption, more speed
        +Lock'N'Chase: Added driver with sound
        +Minky Monkey: Added driver with sound

  • Mario Bros.
        +Added quick snapshots

  • Sega System 1/System 2
        +Fixed slowdowns and clean code
        +Added quick snapshots
        +Enhanced video buffer, more speed


  • General
                +Added sub CPU 7801
                +Added many opcodes, and fix others

  • Sega Master System
        +Fixed IRQ in SMS video mode (Fixes 'Nemesis', 'The Simpsons - Bart vs. the Space Mutants', etc)
        +Fixed memory initialization with value $f0 (Fixes 'Alibaba and 40 Thieves', 'Micro Xevious', etc)
        +Change palette of TMS video mode

  • Super Cassette Vision
        +Added preliminary console driver (to fix CPU 78XX and enhance Taito CChip!)

  • Toaplan 1
        +Added preliminary driver for the system
            -Hellfire: Basic driver


  • General
                +Add 4T when take an IRQ and comes from HALT

  • Gameboy/Gameboy Color
        +Fixed background/window/sprites prorities. Finally understood how it works and renders the screen and objects
        +Fixed window line draw (Fixes 'Star Trek', 'Marblemadness', 'International Karate' and many others)
        +Fixed stupid bug in Gamboy Color video RAM
        +Fixed Gameboy Color background color (Fixes 'Yoda Stories')
        +Fixed sprite/sprite priority
        +Fixed when LCD is disabled, LCD-stat is 0
        +DMA - Fixed data origin

Show Previous Changes


  • General
        +Preview picture
            -Cosmetical changes: bigger with black background and scaled picture
            -Added picture to Spectrum Plus 2A, SG-1000 and GameGear. Split GameBoy and GameBoy color pictures

  • Gameboy/Gameboy Color
        +Better drawing priorities, still not perfect
        +Window: fixed priorities with sprites (Look at 'Prehistorik Man')
        +Fixed controls order reading (Fixes new version of 'Robocop' - Thanks to Neville)
        +Small fix to serial (Fixes 'Lunar Lander', 'Hyper Dunk' and many others)

  • Suna 8 HW
        +Hard Head 2
            -Fixed palette

bottom of page