Dsp emulator
Pascal Assembly
Latest commit 8969047 Dec 31, 2016 @leniad DSP 0.17b2 WIP. Source and Win32 update
-General
+GFX engine: GFX functions optimizations, more speed
+UPD765
-Fixed next sector ID load function
-Fixed a stupid bug when reading a full track (Fixes Spectrum +3
'Platoon' and many others)
+Disk loading: Fixed some problems selecting compressed files
+DSK files: Fixed track number asignation
+Cleaning and optimizations in many drivers (input, video, controls,
etc)
+Namco sound
-Converted to clases
-Fixed some bugs
-Converted to standard audio functions
+M680X: Added internal RAM
+Deco 16ic: Converted playfield RAM to word, changed functions and
drivers
+Mouse: Created new functions to standarize the cursor show/hide and
creation
+M68000: Fixed carry flag on opcode roxr.l
+OKI 6295: Added snapshot functions
+Samples: Fixed a bug assigning the audio channel
-Amstrad CPC
+Fixed WAV tape file loading
-Black Tiger
+Video optimizations
-Asteroids HW
+Small audio optimizations
+A video rewrite needed!
+Asteroids: Small memory optimizations
+Lunar Lander: added driver, no sound
-Express Raider
+ROMS updated to 'World V4'
-Gunsmoke HW
+Added dip switches to all games
+Added a simulated copy protections
-Higemaru
+Added dip switches
+Added P2 controls
-Iron Horse
+Added dip switches
+Small video optimizations
-Jackal
+Added dip switches
-Jr Pacman
+Added dip switches
+Fixed screen rotation
+Added P2 controls
-Shoot Out
+Optimized sprites
+Implemented IRQ
-Vulgus
+Added dip switches
+Added P2 controls
-Vigilante
+Updated ROMS to version 'World E'
+Fixed background scroll
-Space Firebird
+Fixed dip switches
-Combat School
+Video optimizations, more speed
+Added dip switches
-Twin Cobra HW
+Implemented video on/off
-Double Dragon 3 HW
+Added snapshot functions
+Double Dragon 3
-Fixed scroll ('Egypt' screen)
-Fixed controls
+The Combatribes: Added driver with sound

README.md

DSP Emulator status

31/12/16 - DSP Emulator 0.17b2 WIP. Source and windows 32bits updated
After three months entering and leaving the hospital, I have time to update the emulator. I hope I will recover soon and upload more updates
Merry Christmas and happy new year!

-General
    +GFX engine: GFX functions optimizations, more speed
    +UPD765
        -Fixed next sector ID load function
        -Fixed a stupid bug when reading a full track (Fixes Spectrum +3 'Platoon' and many others)
    +Disk loading: Fixed some problems selecting compressed files
    +DSK files: Fixed track number asignation
    +Cleaning and optimizations in many drivers (input, video, controls, etc)
    +Namco sound
        -Converted to clases
        -Fixed some bugs
        -Converted to standard audio functions
    +M680X: Added internal RAM
    +Deco 16ic: Converted playfield RAM to word, changed functions and drivers
    +Mouse: Created new functions to standarize the cursor show/hide and creation
    +M68000: Fixed carry flag on opcode roxr.l
    +OKI 6295: Added snapshot functions
    +Samples: Fixed a bug assigning the audio channel
-Amstrad CPC
    +Fixed WAV tape file loading
-Black Tiger
    +Video optimizations
-Asteroids HW
    +Small audio optimizations
    +A video rewrite needed!
    +Asteroids: Small memory optimizations
    +Lunar Lander: added driver, no sound
-Express Raider
    +ROMS updated to 'World V4'
-Gunsmoke HW
    +Added dip switches to all games
    +Added a simulated copy protections
-Higemaru
    +Added dip switches
    +Added P2 controls
-Iron Horse
    +Added dip switches
    +Small video optimizations
-Jackal
    +Added dip switches
-Jr Pacman
    +Added dip switches
    +Fixed screen rotation
    +Added P2 controls
-Shoot Out
    +Optimized sprites
    +Implemented IRQ
-Vulgus
    +Added dip switches
    +Added P2 controls
-Vigilante
    +Updated ROMS to version 'World E'
    +Fixed background scroll
-Space Firebird
    +Fixed dip switches
-Combat School
    +Video optimizations, more speed
    +Added dip switches
-Twin Cobra HW
    +Implemented video on/off
-Double Dragon 3 HW
    +Added snapshot functions
    +Double Dragon 3
        -Fixed scroll ('Egypt' screen)
        -Fixed controls
    +The Combatribes: Added driver with sound


22/10/16 - DSP Emulator 0.17b1 Final. All binary and source updated. New preview images (thanks to FJ Marti)
-All previous WIP enhacements
-General
    +Windows: Fixed image snapshot save bug (Thanks to FJ Marti)
    +Fixed a bug that if DSP is started with the ROMs list and no driver was selected, the emulator hangs (Thanks to FJ Marti)
    +Fixes to the ROMs/Samples file list exportation (Thanks to FJ Marti)
    +N2A03 
        -Converted to CPU
        -Converted to classes
    +Taito Sound
        -Converted to classes
        -Integrated Z80 CPU
    +Konami Sound
        -Converted to classes
        -Integrated Z80 CPU
-ExedExes
    +Added dipswitches
-Express Raider
    +Added dipswitches
-Double Dragon HW
    +Fixed IRQs
    +Double Dragon II: Fixed VBlank, solves the problem of color fading in transitions

15/10/16 - DSP Emulator 0.17b1. Win32 binary and source updated.
-General
    +Namco IO
        -Added 50XX control CPU
        -Added 54XX sound CPU, using samples
    +MB88XX CPU: Added opcodes $0f, $10, $1a, $20, $22, $2f and $48
    +Fixed folders load/save, now the correct last folder used for Spectrum, Amstrad, Coleco, NES, GB, etc is remembered
    +In general configuration menu, you can change preview images, samples, quick snapshot and NV-Ram folders. Removed NES, Coleco and GB folder change (useless now) 
-Spectrum
    +Z80 snapshot
        -V1 - Fixed lenght of the compressed full memory block, I was ignoring the end mark
        -V1 - Fixed buffer overflow, some times the snapshot data has more info that it's needed
        -V2/V3 - Fixed uncompressed memory page inside of the data
        -V2/V3 - Some checks to avoid bad snapshots
        -V2/V3 - Now identify the correct Spectrum model
        -V2/V3 - The preview image, now uses the active screen in 128k models
-Gun.Smoke HW
    +Gun.Smoke: Small video updates
    +1943: Fixed background scroll
-Galaga HW
    +Galaga: added samples
    +Xevious: added driver with sound, small problems with scroll and samples
-WWF Superstars
    +Small video updates
-TMNT HW
    +Sunset Riders: Enhanced copyprotection


26/09/16 - DSP Emulator 0.17b1. Win32 binary and source updated.
-General
    +K051960: Implemented IRQ's
    +Changed the way to show the main window caption, including the name of the tape, snapshot, disk, etc.
    +Added MCS48 CPU series: i8035, i8039 and N7751
    +Added i8243, port expander
    +Deleted languages files, they are now integrated
    +K051316: Added basic implementation
    +Added a check when directories are saved to avoid duplicating the folder separator
-Amstrad CPC
    +Added support for the snapshot V3 chuncks (including compressed memory)
-Black Tiger
    +Small video updates
-Popeye
    +Small video updates
-Gyruss
    +Added i8039 CPU and DAC, completed sound
    +Converted audio to stereo
-Juno First
    +Added i8039 CPU and DAC, completed sound
-Sega System 16A
    +Preliminary support of the digital audio with the N7751 CPU
-Hyper Sports
    +Added driver with sound
-Megazone
    +Added driver with sound
-Space Fire Bird
    +Added driver with sound
    +Small problems with the backgroud stars
-Ajax
    +Basic driver



30/07/16 - DSP Emulator 0.17b1. Win32 binary and source updated.
-General
    +Added support for IPF files natively without external libraries. 
        -Many thanks to Jean Louis-Guerin (DrCoolZic) for the documententation 'http://info-coach.fr/atari/documents/_mydoc/IPF-Documentation.pdf'
        -Many thanks also to Bruno Kukulcan and Yoan Courtois (Megachur) for some Amstrad CPC IPF files for testing.
-Updated languaje files with new messages
-Track & Field
    +Added driver with sound


07/07/16 - DSP Emulator 0.17 Final. All binary and source updated.
-All previous enhacements
-Z80: Implemented WZ/MEMPTR register, now passes all ZEXALL tests
-YM2203: Added functions to change the AY internal clock
-Spectrum
    +When a snapshot without ROM is loaded and previously changed to a different ROM than the original, it's reloaded the original ROM
    +Contended memory changes
-Amstrad CPC
    +Added LensLok protection
    +Enhanced video mode 2, more speed

18/06/16 - DSP Emulator 0.16b3 WIP. Source and Windows 32 WIP binary updated.
-Lazarus: Fixed zlib stuff. Removed external library dependency, now you can use fast snapshots, load spectrum SZX, DSP, CSW files, load Coleco snapshots, etc.
-Finished IRQ, NMI, reset and halt signals rewrite
-Simplified and reorganized all drivers procedures and functions
-Enhanced ZIP file load:
    +Delphi: the internal classes are used
    +Lazarus: More simple object implementation
-CPU M680X: Unified all opcodes

02/06/16 - DSP Emulator 0.16b3 WIP. Source and Windows 32 WIP binary updated.
-General
    +Begin a general driver cleaning
    +Z80: Added opcode function calls in class
    +YM2151: Converted the driver to class
-Rally X HW
    +Cleaned and corrected the driver (memory, video, etc. )
    +Jungler: Simplified the video, removed manual rotation
-Arabian
    +Fixed video
-Blockout
    +Fixed video
-The Simpsons
     +Added driver with sound, no sprites and many graphics problems

26/05/16 - DSP Emulator 0.16b3 WIP. Source and Windows 32 WIP binary updated.
-General
    +GFX: Fixed and enhanced the final screen rotation
    +Improved how drivers are closed, CPU, video, etc. Fixed bugs and removed some problems when the driver is not initialized and changed an other
    +K007232: Fixed sound
-Thunder Cross HW
    +Super Contra: Added driver with sound
    +Gang Busters: Added driver with sound
    +Thunder Cross: Added driver with sound



24/05/16 - DSP Emulator 0.16b3 WIP. Source and Windows 32 WIP binary.
-General
    +KONAMI CPU
        -Almost finished
-Aliens
    -Added driver with sound
    -Small problem with sprite priorities


22/05/16 - DSP Emulator 0.16b3 WIP. Source and Windows 32 WIP binary.
-General
    +Unified into a single button Play/Pause functions
    +M6809
        -Cleaning and unified opcodes
        -Enhanced timings
        -Fixed 'sync' opcode
        -Added $102d opcode (Fix video in 'Combat School' and 'Contra')
        -Modified and simplified IRQs calls
    +HD6309
        -Total CPU cleaning
        -Added an internal M6809 for compatibility mode
    +KONAMI CPU
        -Writing started
-Mappy HW
    +Fixed sprites: added a mask for the sprites size
-Juno First
    +Fixed driver initialisation

15/05/16 - DSP Emulator 0.16b3 WIP. Source and Windows 32 WIP binary.
-General
    +YM3812: Added chip YM3526
    +PIA 8255
        -Converted to classes
        -Device driver clean
-Karnov HW
    +Karnov: Added driver with sound
    +Chelnov: Added driver with sound


08/05/16 - DSP Emulator 0.16b3 WIP. Source and Windows 32 WIP binary.
-General
    +Fixed snapshots loading in some drivers
    +Fixed value and type of the amplifier in some sound chips
    +Cleaning some CPUs
    +Completely eliminated references to the 'SDL2.pas' unit and improved the 'lib_sdl2.pas' to be independent
    +GFX: fixed left rotate of the nonsquare graphics
    +Z80
        -Removed the special case of HALT opcode
        -Fixed possible loose of timings after the execution of an opcode
    +YM3812: Converted to classes
    +Konami Sound
        -Converted to classes
        -Integrated Z80 sound CPU
        -Integrated Frogger and Scramble sound driver
        -Improved and corrected some drivers
        -Separated into four types 'Time Pilot', 'Jungler', 'Frogger' and 'scamble'
    +Updated 'Galaxians' samples and added 'Space Invaders' samples
-Sega System 1
    +Added custom Z80 timings
-Popeye
    +Added 2nd player controls
    +Driver cleaning
-Galaxian HW
    +Galaxian: Added several sounds (samples)
    +Fixed stars background
-Space Invaders
    +Added driver with sound (samples)
-Centipede
    +Added driver with sound


10/04/16 - DSP Emulator 0.16b2 FINAL released. Source, Win32/64 and Linux 32/64 available.
So much updates and enhancements, and at last a ROM/Samples information export. Please read the documentation or the wiki (Spectrum and Amstrad CPC have keyboard changes).
Many thanks to greatxerox and Davide.

29/03/16 - DSP Emulator 0.16b2 WIP source and Win32 updated.
-Added to download SDL library 2.0.4 for Windows 32/64 bits. You can also download from http://www.libsdl.org
-DSK file engine
    +Added patches to fix the some Titus protections in Amstrad CPC
-Tape file engine
    +General cleaning
    +CSW format: File opening rewrited, improves stability.
    +TAP format: Standardized opening files through data structures
    +TZX format: Standardized opening files through data structures
    +PZX format
          -Standardized opening files through data structures
          -Corrected data block
          -Properly implemented very large pulses
-Spectrum
    + Mapped some missing special keys

22/03/16 - DSP Emulator 0.16b2 WIP source and Win32 updated.

-Added to download some preview images
-General
    +Added a new button to configure dip switches the arcade drivers
    +Added a new button to configure computers and consoles
    +Controls engine
        -Rewrited engine, both the keyboard and joystick
        -Rewrited joystick calibration system
    +DSK file engine
        -Rewrited file openning, improves stability
        -Fixed double-sided images loading
        -Fixed emulation of weak sectors
        -Fixed calculating the length of a track
        -Fixed the order of the tracks
    +upd765 chip
        -Fixed reading a sector ID (Corrects 'Tintin on the moon' Spectrum +3)
        -Fixed handling weak sectors (Corrects SpeedLock +3 protection)
        -Fixed attempt to read beyond the length of a sector (Corrects SpeedLock Amstrad CPC protection)
-Amstrad CPC
    +New menu to change options
        -Choose ROM versions: English, French, Spanish or Danish
        -Map ROMs in spaces 1 to 6 of CPC
    +Keys mapped all the CPC in a position similar to the original
    +Modified the timings Z80
-Asteroids
    +Fixed sound samples
    +Small fixes and cleaning
29/02/16 - DSP Emulator 0.16b2 WIP source and Win32 updated.
-ROM Engine: ROM and samples file info export finished. Now you can use your favorite ROM manager.
-Small ROMs definition fixes in some drivers
-Uploaded Languaje files and sound samples used by DSP, I forgot to do it when I do de google project migration.
28/02/16 - DSP Emulator 0.16b2 WIP source and Win32 updated.
-Lazarus: New sound engine, better sound. Some problems with stereo sounds (Using SDL2 v2.0.4)
-Samples: Fixes resample of no standar frequencies.
-ROM Engine: New export data system, now you can export ROM data in ClearMame Pro format to manage ROMs used. Finished about 50%. (Configure DSP --> ROM --> Export ROM Data)
10/01/16 - DSP Emulator 0.16b1 Final version. Updated source, Windows 32/64 and Linux 32/64 binaries.



26/12/15 - DSP Emulator 0.16b1 source and Win32 snapshot updated again.
-GFX Engine: Implemented alpha color sprites and palette
-K0052109: Implemented video buffers, more speed
-K051960 and K05324X: Implemented shadow sprites (alpha color)
-Added Service functions pressing F1 (impremented in TMNT and Ghost'n Goblins drivers so far)
22/12/15 - DSP Emulator 0.16b1 source and Win32 snapshot both WIP updated.
-Added Konami ADPCM K053260 and K007232 chips
-Sunset Riders: Fixed protection, added controls, finished audio and video
-Implemented zoomed sprites, added to Teenage Mutant Ninja Turtles, Sunset Riders and Nemesis
17/12/15 - DSP Emulator 0.16b1 source WIP update. Win32 WIP snapshot updated too.



10/12/15 - DSP Emulator 0.16b1 source WIP update and Win32 WIP snapshot.



01/11/15 - DSP Emulator 0.16b1 source WIP update and Win32 WIP snapshot.

29/10/15 - Released DSP Emulator 0.16 Final. Added Win 32, Win 64, Linux 32 and Linux 64 binary. Added source. Read 'Whats New.txt' or visit wiki for more detailed info.

25/10/15 - DSP Emulator 0.16 WIP. Added Renegade driver with sound.



26/09/15 - DSP Emulator 0.16 WIP. Sega Master System console added. About 99% of compatibility.



30/08/15 - DSP Emulator 0.16 WIP. Important changes in snapshot system! Fixed Spectrum and Amstrad CPC snapshot load/save snapshots, more compatible.

10/08/15 - DSP Emulator 0.15b3 Final. Please read the docs for more info. Many fixes and enhances.

31/05/15 - Added Free Kick driver..



12/04/15 - Added Gyruss driver..



31/03/15 - Migrated from Google. Published WIP source.