forked from leniad/dsp-emulator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Whats New.txt
2421 lines (2356 loc) · 104 KB
/
Whats New.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
What's New!!! DSP Emulator
DSP 0.16b1 10/01/16
**********
- General
+ Control Engine
- Added the service function, pressing F1 (Implemented in some drivers)
+ GFX Engine
- Added functions for sprites with zoom and alpha blend
- Started the optimization of sprites and chars functions
+ Samples Engine
- Added checks for doing nothing if no samples have been loaded, eliminated local checks on drivers
- Added a function to create a sample from memory
- Fixed bug that did not release internal buffers
- Now only initializes the internal buffer with the number of total samples, with a maximum of 6
- Simplified the conversion of WAV to sample
+ M68000
- Modified the read/write byte mode to check the wich part of the word is accesed, the hi or the low part
- Enhanced 'movep.l re' opcode
+ Konami Video
- K051960: Added driver for sprites chip
- K052109: Added driver for tiles chip
- K05324X: Added driver for sprites chip
- K053251: Added driver for priority chip
+ Konami Sound
- K007232: Added driver for digital audio chip
- K053260: Added driver for digital audio chip
- Rainbow Island
+ Fixed sprites ROM CRC
- Time pilot
+ Fixed sprites
- Mikie
+ Fixed sprites
- Vigilante
+ Fixed sprites
- Pirates HW
+ More sprite RAM (fix 3854 coins bug)
+ Genix Family
- Fixed protection
- Nemesis HW
+ Added zoom sprites
- TMNT
+ Teenage Mutant Ninja Turtles: Added driver with sound
+ Sunset Riders: Added driver with sound
- Gradius III
+ Added driver with sound
DSP 0.16 27/10/15
********
- General
+ Converted variables and constants as local on drivers, whenever possible
+ SDL2: Add a new unit for calls, initialization and loading of the library to isolate the original source code
+ Z80:
- Fixed OUTI opcode (Fix 'Hundra' on Amstrad CPC and 'Rambo' on SMS)
- Simplified IRQ mode 0
+ ADPCM: Create a unit for chips based on MSM5205 ADPCM
+ TMS99XX
- Changed to line by line rendering
- Fixed video modes
- Added 2+3 video mode
- Improved sprites (simplified collisions)
- Added IRQ call on line 193
+ SN76496: Enhanced snapshot system
+ M6502
- Fixed some opcode timings
- Added many undocumented opcodes
- Fixed SBC decimal opcode
+ M6508:
- Added EORA opcode
- Added RESET line
+ Snapshot
- Changed all snapshot formats to use fixed records
- All procedures use internal disk libraries to save, do not directly access any files
- Spectrum
+ SNA: Now load/saves Spectrum 16K and fixed 48K save.
+ ZX: Enhanced save, documented fields
+ SP: Enhanced save, implemented more bits
+ SZX: Corrected many errors on loading/saving, added the field to save/load the ROM if it is modified
+ Z80: Implemented more bits on loadong/saving, added save/load the ROM if it is modified
- Amstrad CPC
+ SNA: Corrected many errors on loading/saving
- Coleco
+ CSN/DSP: added and documented v2.2, enhanced loading/saving due the new video chip
- Spectrum
+ Again changed the processor timings due contained memory
+ The IRQ runs 16 T-states after request
- Amstrad CPC
+ Simplified variables, created new record types for the CRT, PPI and GA
- Coleco
+ Enhanced NMI
+ Rewritted controls, added the 2nd player
+ Random memory initialization (Fix 'The Yolk's on You')
- NES
+ Improved sprite 0 detection system
+ Added mapper 71
+ Enhanced cartridge loading system
+ Unified internal variables in records
- Sega Master System
+ Added driver with sound
+ Added Sega VDP video chip
+ Added settings to switch between NTSC-PAL versions and enable/disable the BIOS
+ 99% of the ROMS works
+ Added mappers: generic Sega, CodeMaster, Korean and A4 compilations
+ Added preliminary SG1000/SG3000 driver
- Cabal
+ Added ADPCM sound
+ Added DIP switches
- Express Raider
+ Fixed lines per frame
+ Fixed FPS
+ Fixed CPUs clocks
+ Fixed Vblank lenght
+ Emulated protection
- Double Dragon 3
+ Added DIP switches
- Namco System 86 HW
+ Rolling Thunder
- Added ADPCM sound
- Volfied
+ Fixed pallette
- Combat School
+ Fixed video priorities
- Renegade
+ Added driver with sound
DSP 0.15b3 10/08/15
**********
-General
+ Delphi (Windows): Removed ZipForge component. Now unzip compressed files directly without external software
+ Control engine
- Improved detection of simultaneous key press of up/down and left/right (Corrects 'Cabal', 'Jail Break', 'Act- Fancer Cybernetick Hyper Weapon' ... )
- Improved analog controls system. Greatly improves 'Food Fight'
+ Pokey
- Fixed sound
- Added external function calls
+ GFX engine
- Centralized palette buffer, removed plane buffer color
- Improved real time graphics rotation, to support graphics that are not square ('Gyruss' need it)
- Fixed small bug in sprites
+ Nec CPU: Fixed opcodes $F2 and $F3. Fixes sprite colors in 'Hammerin' Harry'
+ Timers engine: Changed execution order of timers, fixes some audio chips problems
+ Stability improvements
- Fixed some chips when closing
- Fixed memory leaks
+ N2A03 sound
- Fixed triangular sound
- Added DPCM sound
- Added functions of IRQ and timer frame
-Spectrum
+ Small fixes in IRQ cleaning
+ Fixed ROM 'Knight Lore' loading with the Interface II
+ Fixes in the position of the pop-up windows
-Amstrad CPC
+ Improved tape loading system, improved load times
-NES
+ Fixed sprites flickering and priority
+ Cleaning bits on mappers 1,2 and 3
+ Added mappers 9, 12, 67 (partial) 68, 93, 94, 180 and 185
+ Fixed video rendering order
+ Cleaning ROMs loading function
+ Detects the ROM head: iNes, Nes 2.0 and Archaic iNes
-GameBoy/GameBoy Color HW
+ Fixed IRQ, occurs in line 144
+ Fixed IRQ generation in software line comparison
+ Fixed IRQ generation when the LCD is disabled. Partially corrects 'Mario Land 2'
-Ghost'n Goblins
+ Fixed scroll
-Galaxian HW
+ Fixed first three video rows priorities
+ Jumpbug: Fixed audio initiation
-Green Beret HW
+ Fixed sprites (bank and quantity)
+ Added video priorities
+ Added DIP switches
+ Mr. Goemon: Added driver with sound
-1942
+ Fixed sprites
-Tiger Heli HW
+ Fixed audio initiation
-Terra Cresta
+ Added screen rotation
+ Added the 2nd player controls
-Pooyan
+ Enhanced memory map
+ Added screen rotation
+ Added DIP switches
+ Added the 2nd player controls
-Galaga HW
+ Fixed main CPU IRQ duration, corrects DIP switches in Digdug
-Prehistoric Isle
+ Fixed VBlank lenght
+ Added screen rotation
+ Added DIP switches
-Toki
+ Fixed digital sound
+ Added initial screen scroll effect
+ Added screen rotation
+ Added the 2nd player controls y fixed 1st player controls
+ Added DIP switches
-Shoot Out
+ Fixed VBlank
+ Enhanced memory map
-Caveman Ninja HW
+ Fixed video IRQ generation
-Snowbros
+ Added screen rotation
+ Added DIP switches
-CPS1 HW
+ Fixed palette buffer
-Irem M72
+ Fixed audio initiation
-Nemesis HW
+ Nemesis: Added driver with sound
+ TwinBee: Added driver with sound, missing sprites and video fails.
-Pirates HW
+ Pirates: Added driver with sound
+ Genix Family: Added driver with sound, some problems with the protection
-Juno First
+ Added driver with sound. Missing DAC and i8039
-Gyruss
+ Added driver with sound. Missing DAC and i8039
-Free Kick
+ Added driver with sound
-Boogie Wings
+ Added basic driver
-Pinball Action
+ Added driver with sound
DSP 0.15b2 04/02/15
**********
-General
+ Lazarus (Linux and OSX)
- Modified the use of the Zlib library, now links the external library, so compiled objects are no longer needed. Zlib libray must be installed on Linux and OSX (Linux 64bit fails).
- Fixed search function within a ZIP, it was doubling the results
- Optional libraries: Zlib and IPF (CAPS Image)
- Needed libraries: SDL2 and SDL2 Mixer
+ Delphi (Windows)
- Optional library: IPF (CAPS Image), the Zlib library is included on Delphi and don't need a external library
- Needed library: SDL2
+ Small cosmetical details fixes (icons, screen sizes, etc.)
+ Audio: Simplified the creation of audio emulated device, the audio CPU information is saved internally (number and CPU clock), so it is no longer necessary to add it when initializing a sound chip
+ M68000: Fixed and added the timings of all opcodes
+ Z80: Fixed LDD and LDDR (Was fixed on Spectrum Z80 engine, but I forget to update!)
+ Loading dynamically the necessary libraries. No more errors if the SDL2 library is not present, warns and finishes execution. If Zlib or IPF libraries are not available, do not perform the function but continues execution.
+ Pokey: Started writing chip emulation
+ UPD765:
- Fixed length when full track read is selected
- Fixed length when a sector read is selected
- Fixed function that searches for the next id sector ('Tintin on the Moon' loads again on Spectrum +3)
- Fixed when trying to read beyond the end of a track ('Short Circuit', 'Head Over Heels', etc. loads on Amstrad)
- Fixed sector selection when it's deleted and SK is selected
+ Fixed screen rotation
+ Controls Engine:
- Simplified keyboard system. It is not based on events to see if the key is pressed or not.
- Implemented analog controls
- It's not allowed to be pressed simultaneously left+right or up+down combination (fix problems on 'Jail Break' and 'Act-Fancer Cybernetick Hyper Weapon')
+ Graphics engine: Fixed a bug in sprites ('Circus Charlie' shows sprites on the bottom of the screen)
+ MSM5205
- Converted to class
- Modified the amplifier to reduce the volume
+ Disk load
- Separated disk code from disk chip
- DSK: Improved load disk images
- IPF: Started writing an interface to the IPF disk format
+ NEC: Fixed ROR BYTE opcode
-Spectrum
+ If a snapshot is loaded and that the maximum speed is set, it's reduced to normal speed
-Amstrad
+ Fixed mode 2 display. I can not change the physical resolution of the screen, because there are games that combine several resolutions in the same frame. It is now the color is estimated from the sum of then two real pixels. (Thanks to cpcbegin)
+ Fixed removal of the IRQ when values are modified in the GA. It fixes audio speed and video timings in some games.
+ M6845 video: The address value is calculated with a table. 32k screen display effect and hardware scrolling now work
+ Implemented snapshots. Now load and save in 'SNA' format.
+ Fixed selection of high ROM. If an unmapped ROM is selected by default basic ROM is slected (Fixes 'avant JC 20000', '2112AD', etc.)
+ Enhanced Z80 specific timings, but still is not perfect ('Prohibition' loads)
+ Cassete: Added automatic motor start/stop, now starts/stops the virtual tape
+ Changed the ROM AMSDOS to the original. CRC: 0x1FE22ECD
-Phoenix HW
+ Fixed palette
+ Added video memory banks
+ Added DIP switches
+ Pleiads: Added driver without sound
-Black Tiger
+ Added 2nd player controls
-Ghost'n Goblins
+ Added 2nd player controls
-Bagman HW
+ Added screen rotation
+ Added 2nd player controls
-City Connnection
+ Added screen rotation
+ Added 2nd player controls
-Burger Time
+ Added screen rotation
+ Added DIP switches
+ Added 2nd player controls
-Donkey Kong HW
+ Added DIP switches
+ Added 2nd player controls
-Mysterious Stones
+ General cleaning, more speed
+ Added DIP switches
+ Fixed video
+ Enhanced CPU IRQs
+ Added 2nd player controls
-Xain'd Sleena
+ Added DIP switches
+ Added 2nd player controls
+ Added screen rotation
+ Enhanced CPU IRQs
+ Changed ROMS to World
-Taito SJ HW
+ Fixed audio
-Zaxxon HW
+ Congo: Fixed audio
-Contra
+ Fixed video
-Tehkan HW
+ Fixed audio NMI
+ Fixed digital audio volume
+ Added DIP switches
+ Added screen rotation
-Starforce
+ Added DIP switches, included one indocumented for inmunity
+ Fixed bug in chars buffer
+ Added screen rotation
+ Fixed scroll when it's rotated
+ Fixed main IRQ
-Tehkan World Cup
+ Fixed digital audio
+ Added analog controls
+ Added DIP switches
-Mario Bros.
+ Added DIP switches
-Commando
+ Added DIP switches
+ Added 2nd player controls
+ Added screen rotation
+ Added sound CPU reset
-Lady Bug HW
+ Added 2nd player controls
+ Fixed sprites
+ Added scroll
+ Added DIP switches
+ Snap Jack: Added driver with sound
+ Cosmic Avenger: Added driver with sound
- Added second button
-Circus Chalie
+ Added DIP switches
-Jail Break
+ Added vertical scroll
+ Fixed audio ROM load
+ Added DIP switches
+ Added 2nd player controls
+ Added screen rotation
-Yie Ar Kung-Fu
+ Added DIP switches
+ Added 2nd player controls
-Shaolin's Road
+ Added DIP switches
+ Added 2nd player controls
-Son Son
+ Added DIP switches
+ Added screen rotation
-Megasys HW
+ General cleaning, more speed
+ Fixed scroll
+ Added DIP switches
+ Rodland
- Fixed decryption, fixes audio
+ Saint Dragon
- Fixed decryption
- Added protection
DSP 0.15b1 12/10/14
**********
-General
+ Systems migration to SDL v2
- Video:
+ General code cleaning
+ More speed
- Mouse
+ In windows the custom mouse cursor is noy displayed correctly
- Joystick
+ Modified the preview in menu systems. Now the NES, GameBoy/GameBoy Color and Chip 8 consoles can have a preview image like other systems:
- NES -> 'NES.png' file
- GB/GBC -> 'GB.png' file
- CHIP 8 -> 'chip8.png' file
+ M68000
- Opcode 'STOP' fixed (Fixes Alien Syndrome)
- Opcodes $Exxx rewrited
+ DAC: Added volume selectable amplifier
+ Full screen: Reimplemented and running (press F6)
+ Simplified how works and how is shown the disk usage image
-Spectrum
+ Spectrum 128K: Fixed a regression with memory pagination
-Amstrad CPC
+ Corrected keyboard reading, was duplicated
-Terra Cresta
+ Added video effects
+ Fixed audio speed
-Sega System 16A
+ Fixed video priorities
- Alien Syndrome: Fixed ROMs CRC
-Taito SJ
+ Fixed audio
-Food Fight
+ Added driver without sound
DSP 0.15 27/07/14
********
-General
+ Lazarus:
- Fixed selection when a tape runs
- Added OS X version WIP
+ Configuration:
- Added a system calibration joystick to be independent of OS
- Added NVRAM specific directory. The Gameboy and NES drivers use it for cartridges with EEPROMs and NVRAM
+ Eeprom: Added serial eeprom emulation
+ CPU: RESET and HALT converted to state
+ M68000:
- Added FD1089 encryption
- Fixed opcodes TRAP, ABCD y SBCD on encrypted CPU's
- Opcode $6XFF (Illegal) ignored
- Added more addressing modes for opcode MOVEM
- Added NEGX opcode
+ Z80: Fixed timings of DD opcodes
+ M6805: Added more opcodes
+ NEC: Added many opcodes and addressing modes
+ Simplified system for creating graphics planes
+ Simplified system for decompression of graphics
+ Fixed scroll by line and by column
+ Fixed loading of CSW v1.0 format
-Spectrum
+ Fixed SZX load when memory blocks are not compressed
-System 1/2 HW
+ Fixed some variables after a reset
-Jackal
+ Fixed video bug
-Galaga HW
+ Fixed sprites rotation
+ Amidar
- Fixed sound
-Popeye
+ Small bug fixes
+ Added dip switches
-Slap Fight HW
+ Simplified driver
+ Added sprite buffer
+ Change audio IRQ
-Double Dragon HW
+ Updated driver, improved the treatment of IRQ
-Xain'd Sleena
+ Improved the treatment of IRQ
+ Fixed some variables after a reset
-Mappy HW
+ Fixed sprites
+ Fixed displacement of the last line
- The Tower of Druaga: Added driver with sound
- Motos: Added driver with sound
-Combat School
+ Fixed scroll
+ Fixed text plane not shown
-SkyKid HW
+ Fixed sprites
- Dragon Buster: Added driver with sound
-Pang HW
+ Added eeprom
+ Super Pang: Added driver with digital sound (Missing FM)
-CPS1 HW
+ Added eeprom
+ Fixed problem with palette addressing
-Sega System A
+ Fixed palette
+ Fixed sprites and using the priority-based palette
- Alien Syndrome: Added driver, M68000 problems
- Wonder Boy III: Added driver
-Diet Go Go
+ Implemented DECO104 protection
+ Added DIP Switches
-Caveman Ninja HW
+ Implemented DECO104/DECO146 protection
+ Added DIP Switches
-Funky Jet
+ Implemented DECO146 protection
+ Added DIP Switches
-Irem M72
+ More speed
- R-Type
+ Fixed sound
+ Fixed sprites
-Hammerin' Harry
+ Added driver with sound
+ Some sprite palette problems
- R-Type 2
+ Added driver with sound
-Zaxxon HW
+ Fixed palette
+ Fixed graphics
- Congo: Added sound, samples and controls
- Zaxxon: Added driver with sound (samples)
-Taito SJ
+ Audio problems
+ Sprite collisions not implemented
- Jungle King: Added driver
- Elevator Action: Added driver
-Vulgus
+ Added driver with sound
-Double Dragon 3: The Rosetta Stone
+ Added driver with sound
-Block Out
+ Added driver with sound
DSP 0.14b2 04/04/13
**********
-General
+ Defined definitive compilation platforms
- Windows: Delphi XE3
- Other platforms: Lazarus
- Performed cleanup compilation variables
+ Language files are not required anymore. If not available, gives a 'warning', stay in Spanish and is no possible to change the language.
+ New fast snapshots system for arcade drivers
- Pressing F7 or F8 you can record two snapshots, and pressing F9 or F10 recover them
- Drivers implemented so far: Black Tiger, Bomb Jack, YieAr Kung-Fu, City Connection, Green Beret, Mikie, Super Basketball, Shaolin's Road, SonSon, Terra Cresta, Ghost'n Goblins, Pacman, Ms Pacman, 1942, Psychic 5, Popeye and Kangaroo
+ Finished the conversion of M68000 memory drivers to word format
+ Converted DAC sound to class
+ WAV files - Improved loading files, supports mono or stereo, and any sampling. Also unified samples loading and Spectrum WAV files
+ TAP/TZX - Fixed internal TAPE names of Spectrum/Amstrad
+ Config
- Added an option to enable/disable the ROMs CRC error notices. Useful to load alternative ROMs to the original arcade, for example 'Bubble Bobble: Lost Cave'
- Added an option to enable/disable the centering of the main screen when you change driver
- Corrected showing the Joystick name
-Spectrum
+ General code cleaning
+ Snapshot: Improved loading system, simplified and stabilized the Spectrum model change
+ Fixed button 'Fast Load' when changing model
-Coleco
+ Enhanced snapshots. Added sound chip state into the snapshot
-Rally X HW
+ Fixed sprites, quantity and colors
-Super Basketball
+ Fixed VLM-5030 sound
-CPS1 Hardware
+ Corrected palette initiation
-Kangaroo HW
+ Fixed sound
+ Fixed video
-Rainbow Islands HW
+ Rainbow Islands: Added driver with sound
+ Rainbow Islands Extra: Added driver with sound
-Volfied
+ Added driver with sound, small issues with sprites palette
-Operation Wolf
+ Added driver with sound, mouse is used as gun
DSP 0.14b1 02/22/13
**********
-General
+ General code cleaning
- Relocation of variables (remove duplication between Delphi and Lazarus)
- Remove dependencies from 'principal' unit as much as possible
- Remove unnecessary compilation conditionals
- Using the palette buffer (converted to type word). Removed local drivers variables.
- In M68000 drivers, started the conversion of memory variables to word type
+ Windows:
- Updated to Delphi XE3 as basic platform compilation. Supports ZLIB, PNG and GIF natively.
- Added support of 64bits binary
+ TAP/TZX: PZX - Corrected pulse conversion and added support for large blocks of pulses
+ CPU M68000:
- Added opcode 'STOP'
- Added opcode 'movem.l' addressing type
+ CPU NEC: Added more opcodes (R-Type now works)
+ Converted into classes
- All the CPUs
- Audio chips: AY8910, YM2203, OKI-6295, SN-76496, UPD7759 and VLM-5030
+ GFX:
- Improved graphics conversion routine, more speed, independent of the number of planes
- Removed some bugs in the initiation of the gfx and eliminated redundancies in the initiate of the variables
-Gun.Smoke Hardware
+ Fixed scroll
-Mysterious Stones
+ Fixed palette
-Prehistoric Isle 1930
+ Enhanced scroll, more speed
-Gaelco HW
+ Enhanced scroll, mode speed
+ Fixed sprites priorities
-Caveman Ninja HW
+ Caveman Ninja: Added protection
-Kangaroo
+ Added driver, problems with sound
-Bionic Commando
+ Added driver with sound
-WWF Super Stars
+ Added driver with sound
DSP 0.14 09/29/12
********
-General
+ Windows: Removed all specific references to a specific version of Delphi. Works fine with the SDL library regardless of the version of Delphi, you just have to import the project from 2007 version
+ Fixed memory leaks thanks to the FastMM4 library. Fixed bugs in GFX, Coleco, TMS 99XX, Amstrad CPC, and Spectrum snapshots/tape preview
+ Increased the video buffer. Solve problems in NES driver
+ Completed the close of the CPUs, some CPUs structures were not finalized properly
+ Samples: Fixed a bug that not properly assign reserved channels
+ Dip Switch: Added Arabian and Asteroids
+ TAP/TZX:
- Improved support TZX block-$19 'Generalized Data'
+ Now supports 2 and 8 bits symbols
+ General cleaning of code and some corrections
- General cleaning of the code in PZX load
- Corrected load CSW v2 format
-Spectrum
+ Fixed more of IN and OUT timings. More contended memory test passed.
+ Improved border rendering speed. Full border emulation is up to four times faster.
+ Fixed full border emulation (thanks to azesmbog[@]mail.ru)
-Vigilante
+ Fixed audio close
-Yie Ar Kung-Fu
+ Fixed sprites
-Asteroids
+ Fixed video, removed border
-Xain'd Sleena
+ Removed patch protection, since the CPU was implemented
-UPL Hardware
+ Fixed background screen buffer
-NMK 16 Hardware
+ Fixed sprite decryption
-GameBoy/GameBoy Color
+ Fixed audio close
-Combat School
+ Fixed audio close
-Namco System 86
+ Fixed audio close
-Pang
+ Fixed audio close
-Pengo
+ Fixed sprites
-Jr. Pac-Man
+ Fixed sprites
-Zaxxon Hardware
+ Congo: Added basic driver, no controls, no sound, problems with the background, the palette ...
DSP 0.12b5 07/12/12
**********
-General
+ M6502 CPU
- Fixed jump timmings
- Fixed stack
- Fixed opcodes SBC/ADC on NES
- Fixed 'indexed', 'indexed X' and 'indexed Y' addressing modes
- Fixed relative JMP opcode
- Fixed how are retrieved the flags from the stack
- Fixed timings when there is a 'page-fault' in some opcodes
+ Z80 CPU
- General code cleaning
- Fixed ED opcodes (otir, ldir, cpi, etc)
- Added all missing ED opcodes
- Added all missing DDCB opcodes
+ LR32902 CPU
- Fixed INC, DEC, SRA and DAA opcodes
- Fixed timmings
+ Sound Engine
- Fixed sound when you select 'No Sound' sound does not sound, but is still processing (fixes errors in the samples)
- Fixed a bug when sound is closed and there was no sound card
+ Tape Engine
- It does not close the window when changing the driver and it can use the tape (Spectrum or Amstrad)
- Added an icon to open a file from the same tape window
-Spectrum
+ Spectrum 128K: Fixed a memory bug
-Asteroids
+ Fixed video, vectors that are off the screen are not drawed, but are calculated
-Lady Bug
+ Improved palette conversion
+ Fixed video
-Mysterious Stones
+ Fixed IRQ's generation
+ Improved palette conversion
+ Added memory addressing mirroring
-Mikie
+ Improved palette conversion
+ Fixed main CPU clock
-Burger Time
+ Fixed the ROM realtime decrypting
-Vigilante
+ Fixed sprites, they were displayed above the screen when they disappeared below
-NES
+ Rewrited video system
- Added scroll
- Added all mirror screen modes
- Rendering line by line based on the internal rendering pointer with background color
- Improved palette conversion
+ Rewrited sprite system
- Added transparency
- Added priorities: background/sprites and sprite/sprite
- Added maximum number of sprites
+ Read/write of the NVRam
+ Added mappers 1,2,3,4,7 and 66
-GameBoy / GameBoy Color
+ Rewrited video system
- Line by line render system
- Fixed the window that overlaps the background
+ Rewrited sprite system
- Line by line system
- Added maximum number of sprites
- Improved sprite/sprite priorities
+ Mappers
- Separated from the main driver
- Fixed mappers 1 and 5
DSP 0.12b4 26/04/12
**********
-General
+ Added a new system to change the dip switches on the arcade drivers using the configuration button
- Drivers implemented so far: 'Black Tiger', 'Pacman' hardware, 'Terra Cresta', Gaelco hardware, 'Ghost and Goblins' and 'Bagman' hardware
+ Fixed loading drivers from the main list
+ MSM5205
- Fixed audio quality, very obvious on 'KungFu Master', 'Double Dragon', etc
- Fixed chip implementation in slave mode, but doesn't sound quite well right now
+ OKI 6295 - Fixed audio quality, very obvious on 'Thunder Hoop', 'Caveman Ninja', CPS1, etc
+ Q-Sound - Fixed audio quality
+ VLM5030 - Fixed audio quality, very obvious on 'Yie Ar Kung-Fu', 'Jail Break', etc
+ YM2203:
- Implemented timers with internal timers. Remove some hacks such as 'Xaid'd Sleena'
- Simplified the initialization
+ YM3812:
- Implemented timers with internal timers
- Simplified the initialization
+ YM2151 - Implemented timers with internal timers. Remove some hacks on 'Street Fighter', 'CPS1', etc
+ Z80 - Finished the conversion of IRQs system in several states
+ Sprites - Added a generic system to avoid cuts in sprites
+ Fixed small problems in many drivers
-Chip 8 / Super Chip 8
+ Support
- Video resolution 64x32 (Chip8), 64x64 (Hires) y 128x64 (SChip8)
- Vertical and horizontal scroll (Schip8)
- Internal timer
- Preliminary sound
- All the opcodes, some small compatibility issues
- Keyboard
+ Support .ch8 y .bin formats
-Vigilante
+ Fixed audio generation IRQ's
-Legendary Wings
+ Fixed audio generation IRQ's
- Trojan: Added ADPCM sound
-Xain'd Sleena
+ Fixed and simplified the video system
-NMK 16 Hardware
+ Fixed audio NMK112
-Gaelco Hardware
+ Fixed sprite priorities
- Big Karnak: Fixed audio
- Squash: Added driver with sound
- Biomechanical Toy: Added driver with sound
-Street Fighter
+ Added ADPCM sound
-Capcom System 1 (CPS1)
+ Implemented palette buffer, more speed
+ Fixed some minor bugs
-Solomon's Key
+ Fixed audio generation IRQ's
-Bagman Hadware
+ Missing TSM-5110 digital audio
- Bagman: Added driver with sound
- Super Bagman: Added driver with sound
DSP 0.12b3 03/06/12
**********
-General
+ Delphi
- Added a project to compile in Delphi XE2 (and in then future 64-bit)
- Fixed problems when you pushed a button on the main window, it loose the focus of the game window
+ Lazarus/Free Pascal
- Added the ZlibEx libraries in Windows and Linux (32bit) eliminated the problems of compression/decompression in Spectrum (DSP and SZX formats) and Coleco snapshots
- Fixed a bug finding out the length of a file
- Added the NES driver, now all drivers are equally in Delphi and Lazarus
- Changes to the code to begin the compilation on 64bits. It works on linux (except Zlib libraries), but not in Windows yet.
- Fixed bug when displaying the preview image of the drivers in the selection menu
- Added choice of base directories in the configuration menu
- Fixed problems with window focus in games like Delphi, but only on Windows not Linux
+ MB88XX: New CPU, missing some opcodes
+ Namco IO: Added Namco IO 53XX (some bugs on MB88XX)
+ Fixed bug, the active driver was not marked in the popup main menu
+ N2A03 Sound: Added sound chip (missing DPCM)
+ Timers: Improved response for very fast timers
+ Cleaning/improving the code in the load ROMS/Snapshots/Tapes to enhance stability
+ Fixed bug which showed twice the error message when the ZIP file is missing
+ Added redefine keys to 'insert coin'/'start player' in main menu
+ Samples
- Improved playback system
- Added possibility to repeat the sample immediately or only when it ends
- Added automatic loop function
- Added a function to stop all the samples
+ Fixed when not showing anything on the screen if the screen was inverted and the video was not 1X
+ Fixed a bug that did not properly cleaned and audio samples playing strange noises
-Spectrum
+ Fixed aestetic bugs
+ Lazarus/Free Pascal: Fixed the button to enable/disable fast load, not working
+ Corrected PZX tape loading
-Coleco
+ Fixed the background color when loading a snapshot
-NES
+ Added sound (N2A03)
+ Fixed sprites
-GameBoy / GameBoy Color
+ Fixed startup of the GameBoy Color when the BIOS file is not present
+ No longer displays error message when unable to load the BIOS
-Donkey Kong Hardware
+ Fixed sprites (displaced 1 pixel)
+ Added invert screen
- Donkey Kong: Added full sound with samples
- Donkey Kong Jr.: Added driver with full sample sounds
- Donkey Kong 3: Added driver with sound (2xN2A03)
-Asteroids
+ Fixed audio did not work without samples
-Super Basketball
+ Fixed scroll 1 pixel
+ ROMs updated to version I
+ Added invert screen
-Exed Exes
+ Fixed audio CPU IRQ generation
+ Fixed cuts on sprites
-Irem M62
+ Simplified video system and initiated video screens
-Burger Time
+ Updated audio NMI generation
+ Fixed loading audio ROM
-Green Beret
+ Fixed video rate to 60.60fps
+ Fixed generation of IRQ's and NMI's
-Ghost'n Goblins
+ Fixed a stupid bug in the video cache
-Galaga Hardware
+ Digdug: Added driver with sound. Some errors in reading the IO's (dipswitches)
-Mario Bros.
+ Added full sound with samples
+ Added invert screen
-Capcom System 1 (CPS1)
+ Fixed vertical scroll
-Sega System 16A
+ Fixed a bug initializing the palette
-Arabian
+ Added driver with sound
-Pirate Ship Higemaru
+ Added driver with sound
DSP 0.12b2 12/21/11
**********
-General
+ Scroll functions
- Cleaned and fixed
- Changed data variables
+ Fixed a bug initializing audio
+ Motorola 68000
- Added two new opcodes
- Expanded and optimized the functions of memory addressing modes
- Fixed the function to know if its reading opcode or data
- Removed functions 'getByte' and 'putbyte' from the core, they are no longer necessary
- Fixed timings of 'move.b', 'move.w', 'move.l', 'read', 'jsr' and 'jmp'
+ Hu6280: New CPU, added IRQ's, NMI, internal timer, etc.
+ Deco BAC06: Added generic video/sprites chip
+ Deco 16ic: Added generic video/sprites chip
+ Cleaning the boot of the drivers, deleted data duplication and centralized in 'init_games' module
-Misterious Stone
+ Fixed video cache functions, more speed
-Jr. Pacman
+ Added video cache, more speed
-Tiger Road Hardware
+ F1 Dream: Fixed protection simulation, now uses original ROMs
-Megasys 1 Hardware
+ P-47 The Phantom Fighter: Fixed all scroll bugs
+ Rod Land: Fixed all graphical and scroll bugs
+ Saint Dragon: Fixed encryption, it works only remains protection simulation
-Deco 0 Hardware
+ Robocop: Added driver with sound
+ Badduddes vs. DagonNinja: Added driver with sound
+ Hippodrome: Added driver with sound but sometimes machine resets...
-Tumble Pop
+ Added driver with sound
-Funky Jet
+ Added driver with sound
-Super Burger Time
+ Added driver with sound
-Caveman Ninja Hardware
+ Caveman Ninja: Added driver with sound
+ Robocop 2: Added driver with sound
-Diet Go Go
+ Added driver with sound
-Act-Fancer Cybernetick Hyper Weapon
+ Added driver with sound, some problems due Hu6280 bugs
DSP 0.12b1 06/11/11
**********
-General
+ Changed the screen rotation system, a bit slower, but much better
+ Z80 PIO: Completely rewritten the device
+ Z80 CTC: Completely rewritten the device
+ Cleaning the functions wich paint on the screen the GFX
-Spectrum
+ Rewritted the positioning of the GunStick
+ AMX Mouse support added by Z80 PIO emulation (not simulation), missing pointer synchronization
+ Fixed Kempston mouse support, not mapped center button and scroll wheel
-Starforce
+ Added sound
+ Updated video system
+ Fixed sprite rotation
-Sega System 1/2
+ Rewrited entire driver
- Added dip swtiches
- Rewrited all video and sprites render system (fixed all scroll issues, priorities, etc)
- Added PPI8255
- Added Z80 PIO
- Fixed audio on System 2 hardware
+ Choplifter: Added driver with sound
+ Mister Viking: Added driver with sound
+ Sega Ninja: Added driver with sound
+ Up'n Down: Added driver with sound
+ Flicky: Added driver with sound
-UPL Hardware
+ Implemented sprites effects
-Sega System 16a
+ Fixed communication between M68K -> PPI8255 -> Z80. Now work sound, video effects, etc.
DSP 0.12 10/10/11
********
-General
- Lazarus:
- Migrated remaining functions (compression/decompression ZIP and ZLIB, windows, settings, etc.)
- Added Spectrum and Amstrad CPC drivers (including tape, disc and LensLock protection)
- New system to redefine the keyboard, simple and easy.
- Added a new module 'file_engine'
- Moved functions for read/write standard files
- Moved and expanded functions for use the ZIP files
- Moved functions for compression/decompression ZLIB
- Moved functions for read/write the INI file
- Moved functions for load/save hi-scores
- Unified most of the general variables (screen, sound and general) to avoid duplication problems
- Simplified the load of the drivers (generalized functions), added functions and procedures to improve the synchronization between Delphi and Lazarus
- Added general functions for automatically rotate +90º or -90º the main screen
- Changed the display system for disks and LensLock, now appears in a window separated from the main window
- Motorola 68000 CPU
- Fixed opcode 'divs'
- Fixed issues with the sign in various opcodes and addressing modes (fixes 'BombJack Twins', 'Snow Bros' etc.)
- TMS-32010 CPU
- Added 'addh', 'mpy' and 'subh' opcodes
- Fixed opcodes 'abs' and 'add_sh'
- UPD765:
- Added a patch to support more copy protections (in addition to cleaning up the code)
- Supported block 'Offset-Info' at the end of disk (ignored)
- OKI6295: Small changes and improvements, better sound quality
- Namco Sound: Added possibility to disable the sound (modified drivers which use it)
- Samples
- Fixed bug loading samples
- Fixed distorted sound
-Amstrad CPC
- Code cleaning
- Implemented the real PPI8255, not simulated
- Rewritted all communication between GateArray, PPI8255 and AY8912. Eliminated problems reading the keyboard, RAM paging, color palette, sound and cassette.
- Mapped almost all keys and joystick for second player
- Fixed some video problems ('Arkanoid', 'Back to the Future II', 'Robocop', etc)
- Thanks to the improvements of the UPD765 most of the disc protections work ('Goody', 'Robocop', 'Double Dragon II', 'Ghostbusters II', etc)
- The software compatibility is almost 90%-95%, except for some video problems (special configurations of the video chip) and some disk protection
-Legendary Wings
- Implemented screen rotation functions
- Simplified video system
- Trojan
- Fixed video
- Simplified graphics management
-NMK 16 Hardware
- Implemented screen rotation functions
- Simplified and corrected the video system
-Sega System 16A Hardware
- Fixed a video priority issue (bonus stage)
- Implemented switch off the video output (not working due problems with the PPI8255 communication)
- Added sound chip (not working due problems with the PPI8255 communication)
-Pengo
- Fixed ROM size
-SNK 68K Hardware
- Fixed some problems in video and sprites memory
- Added the review of the A8007 board: protection, audio and video
- Ikari 3 - The rescue: added driver with sound
- Search and Rescue: aadded driver with sound
-Twin Cobra Hardware
- Twin Cobra: added driver with sound
- Flying Shark: added driver with sound
-Jr. Pac-Man
- Added driver with sound, just missing some optimizations of video system
DSP 0.11b4 08/02/11
**********
-General
- Fixed a small bug when changing directories from the settings then exit and run DSP again, directories are not loaded properly.
- Sound engine
- Fixed a bug initializing the sound card
- Fixed number of audio channels, there was always one more than needed
- General cleaning of the code of all arcade drivers
- M6502 CPU
- Added two CPU variants: DECO16 and 2A03 (NES)
- DECO16: Added opcodes, specific timings and IO functions
- 2A03: Added specific opcodes
- Simplified synchronization and reading events, everything works now in a single call