SugarBox jest, jak zresztą pełna jego nazwa głosi, kolejnym emulatorem mikrokomputerów firmy Amstrad-Schneider - CPC464, 646, 6128. Głównym celem jego rozwoju jest dokładne odwzorowanie pracy monitora wraz z nieznacznymi poprawkami w emulacji procesora Z80, w który były wyposażone flagowe konstrukcje tej marki.
- Gate array: MMR Corrected: If a 128k config is set, only 128k are available.
- Gate array: Corrected access to MMR and MMR through PAL
- Gate array: Mode 3 is handled
- Monitor: Change the function used for adjustement on HSync: Use a square root instead of a log, to make some demos more stable (« Camembert 4″ demo for example)
- Timings: Adjust some timings for out command. « From scratch » demo now display correct colours at the correct place
- FDC: Reset is (really) fixed. It no longer set the FDC in a state that prevent it to be used
- FDC: Add delay during track change
- General: Load the Xinput lib in the code, to avoir non runing app on some XP systems.
- General: Screenshot option added
- General: Speed limit is more configurable, from 50% to no-limit
- General: Some code optimisations
- General: Screen size can change (from « full PAL display » to « standard CPC screen »)
- General: Directories problems have been solved. It is now possible to drag’n'drop dsk file to a sugarbox shortcut (or to associate dsk with sugarbox)
- Sound: Volume slider added
- Sound: Mute option added
- Sound: Record is flushed, so the file is not only written at the end of the recording
- GUI: Current track number is displayed
- GUI: Add a « scanline » option
- GUI: Add nice icon for sound and disks
- GUI: Added Screenshot, settings and reset icons
- Startup: Associating « dsk » with sugarbox offer the possibilitty to load disk directly
→ [cpc] SugarBox 0.29 (Yet another CPC emulator)
Sugarbox v0.29 22/01/2017
- Complete PLUS family support: 464+, 6128+, GX4000. All ASIC functions are supported (making modern demo like « CRTC3″ or « Eerie forest » functionnal).
- SNA v3 is supported, with BRKS chunks (breakpoints generated by RASM or Winape)
- Various fix on full screen management (should not crash anymore)
- Various fix on DSK management. More dumps should be analyzed correctly
- IPF support: Generated IPF file should be more reliable (no more crash with Samdisk or DTC from kryoflux)
- Joystick support is better
- Sound have been reworked.
→ [cpc] SugarBox 0.28 (Yet another CPC emulator)
Sugarbox v0.28 30/06/2017
- [Gate Array]: Fix mode changing: Imperial Mahjong now looks better !
- [Expansions]: Add support for the Playcity
- [Expansions]: Add support for the Multiface II cards.
- [Z80]: Complete recoding of the Z80 core. It now use the real M and T states, and handle WAIT states correctly. More accurate.
- [General]: ZIP support (only zip file at the moment) for tape and disks
- [IPF] : IPF created is striclty equivalent to the original dump (in term of MFM track)
- [IPF]: Minor fixes in IPF reading
- [DSK] : Fix some wrong behaviour. Dsk reading should be more reliable (and will no longer crash)
- [DSK]: Fix a bug in saving DSK file. It should no longer crash (anyway, if you can avoid using it, prefer HFE or IPF format !)
- [Emulation]: All peripherals are now running in the correct timings.
- [FDC]: Index detection fixed on Sector writing (Imperial Mahjong is able to save its configuration)
- [FDC]: Dump with missing tracks will no longer crash Sugarbox
- [FDC]: Fix wrong behaviour for double sided dumps that needs flipping of disk (fix altered beast double sided CTRaw)
- [FDC]: Fix wrong status than can set « Seek end » incorrectly in some cases
→ [cpc] SugarBox 0.27 (Yet another CPC emulator)
Sugarbox v0.27 27/11/2016
- [Emulation] :Add some optimizations. MAX speed should be faster (about 100% gain from v0.26)
- [Emulation] :Remove memory leaks in IPF writing process
- [Config files] :Fix the ‘-’ and ‘_’ for french keyboard: « From scratch » now autorun properly.
- [Display] :Screenshots are fixed: No more unwanted black line at the top.
- [Dump support] :Fix the code used to compute multi revolution dump, to be more reliable (when a revolution is wrecked, dont use it)
- [FDC] :Lots of fix in the FDC: The ‘acid tests’ of arnoldEmu are almost all corrects now.
- [FDC] :Fix some bugs when reconstructing the tracks (fix some dump of « Le Necreomancien », and various CTRaw files also)
- [FDC] :The ‘Flip’ fonction (used to flip double sided dumps) is now working correctly. Double faces IPF are now working
- [FDC] :’10′ bits used for bit synchronisation can be in a smaller number: 40 bits are enough to consider the PLL as correctly fixed between clock/data bits
- [General] :Fix a deadlock that occurs when a command is used during a dump disk is read
- [General] :Fix the autotype feature: the feature is more relevant. Also, the « | » character is correctly rtanslated to ‘ù’ on french keyboard.
- [General] :Add a function to recording every frame into a screenshot
- [General] :Autorun feature is a bit more reliable (more rules added)
- [General] :Added some command line switches :
- -sn xx (load xx as a Snapshot file),
- -drivea xx to set xx into drive A,
- -driveb (same for drive B)
- -fullscreen to start in full screen mode,
- -config xx to load xx as config file,
- -command xx to run xx as basic command at start
- [GUI] :Fix the incorrect update of « Save as.. » menu when inserting a disk.
- [Multiface II] :Add preliminary support for Multiface II (no config yet)
- [PPI] :Rewrite most of the 8255 implementation. Now run the ‘acid test’ properly (when it have meanings)
- [PSG] :Correct lots of bugs (sound is now a LOT better, and digitized sound works correctly). Fix Dick tracy, Antiriad, Crazy cars 2, and probably a lot more !
- [PSG] :Also run the ‘acid test’ of PSG correctly.
- [Z80] :Support for NMI added
→ [cpc] SugarBox 0.26 (Yet another CPC emulator)
Sugarbox v0.26 5/04/2016
This update is mainly focused on IPF and Disk support, but it includes also a debugger (rather simple at the moment, should be improved in the next releases). Z80 emulation is a bit better (all Z80 tests are now correct).
- [CT-RAW/IPF]: Native support of these two format. CAPSLib dll from SPS is no longer used. This will fix some non-working dump( due to bug in the lib).
- [IPF]: Add a SAVE IPF option. You can save your current disk in IPF format, to generate a 3″ disk. You can even write dump with weak sectors.
- [HFE]: Now it’s possible to save HFE file !
- [edsk]: Added some tuning to handle sector of header size lower than real size.
- [edsk]: Fixed some nasty memory overrun.
- [edsk]: Fixed the way of handling overlapped disk: « Corsarios (UK) (1988) (CPM) [Original].dsk » disk now run correctly. In fact, all dsk should now retrieve their original size of 6k/track
- [edsk]: Fixed support for ALLGAP dumps
- [FDC]: New paradigm: Weak bits are now handled by bit. Multi-revolution dump are converted to single revolution with weak bits data.
- [FDC]: Fix a bug with the SZ byte = 0 in read track command (this fixed « War In Middle Earth (UK) (1987) (CPM) [Original].dsk » dump)
- [Tape]: Add a delay when motor is on/off. This fixed « Last Mission »
- [Z80]: Interrupt mode 0 is partially fixed: It does nothing, but no longer corrupt the Z80 registers
- [Z80]: Fix some wrong behaviour of undocumented opcodes
- [Z80]: Add the undocumented ‘Q’ register used for Flags, and fix the SCF/CCF instructions regarding this register
- [Z80]: All Z80 tests from Patrik Rak, adapted to the CPC by Kevin Thacker, are now correct.
- [Display]: Fixed wrong behaviour for 100%speed with 100hz screen without black frame insertion: Speed was twice what was intendeed
- [General]: Add Autorun disk on insertion which try to guess the best file to run.
- [General]: Optimization: Everything is now running 60-80% faster than before
- [General]: Add a support for auto-executing BIN file (with AMSDOS header), through drag’n'drop.
- [General]: Fixed the Spanish configuration for 464, and added support for Danish keyboard.
- [General]: Added -fullscreen command line to enable fullscreen by default
- [General]: Fixed the « -command » option: In order to run a disc, just launch your command as Sugarbox -command run »disc » for example
- [General]: Added sound for disk drive
- [General]: Fix copy/paste for english/spanish/danish
- [GUI]: Added a feedback when loading tape/disk/SNA/SNR
- [GUI]: Added a preliminary debugger, with Register edition, breakpoints, flags
- [Joystick support]: Fixed diagonals not supported with some joypads (now, games should be far more playable !)
- [Memory]: Fixed the configuration: 64k computer no longer have improper PAL
- [Settings]: Fixed some nasty bugs preventing the keyboard settings to work
→ [cpc] SugarBox 0.25 (Yet another CPC emulator)
Sugarbox v0.25 16/10/2015
- [General]: Optimisations (Emulation is about 15% faster)
- [General]: Generic Joystick are supported through Direct Input. 2 Joysticks can be used, in the order they appear in the os. Work with Xbox controler, as well as standard usb joystick.
- [SNR]: Add feature to watch SNR file (playbacks) – Preliminary
- [Z80]: Fixed timing issue in interrupt following some opcodes
- [Z80]: Fixed incorrect R increment for DD CB and FD CB instructions
- [FDC]: Fixed « Format » command. Now, a Format command from discology (for example) produce a disk that is correct.
- [FDC]: Fixed the MSR, that was not handled correctly. This fix Bobby bearing and Camelot warriors original dsk.
- [FDC]: Fixed the Step Rate Time computation, which was twice longe than expected
- [FDC]: Fixed behaviour with SK bit and deleted sectors (making Nigel Mansell works)
- [FDC]: Fixed how read track over the index hole works. The current sector is finished,then the command is ended (fix Skyx)
- [eDSK]: Fixed an incorrect behaviour with non formatted tracks on some dump. This prevents Bobby Bearing (UK) (1986) (CPM) [Original].dsk to crash when trying to load
- [eDSK]: Fixed some rare problematic case with offset-info datas
- [CT-Raw]: Fixed write bug when multiple revolutions exists (which somewhere shifted what’s written, leading to CRC error). Fix « Le maitre absolu » in ct-raw format
- [Memory]: Fixed a bug in the PAL, preventing SymbOs to use full memory.
- [GUI]: Fixed missing space and enter for Autotype
- [GUI]: Added a PAUSE feature, accessible via menu or the « Pause » key on the keyboard
- [Z80]: Fixed a rare bug that can lead to potential unwanted deadlock with HALT command
- [TAPE]: FAST loading enabled: If a tape is read, refresh are cut, so speed can be 2 to 3 time faster.
- [Display]: SDL2 lib is now used. Fullscreen option is now better, as it can be fully configured. Also, black screen insertion for 100hz display can be used for buttery smooth scrollers
- [Display]: Screen size and position is now more correct
- [Display]: Screenshots are now better (and without any toolbar)
- [Printer]: A really basic printer is now plugged ! You can see print result in the PRINT directory. (no graphical printing is done, only text)
- [Online libraries]: Preliminary integration of CPC-Power and Amstrad.eu online libraries.
→ [cpc] SugarBox 0.24 (Yet another CPC emulator)
Sugarbox v0.24 31 march 2015
- [FDC]: Read track handle correctly TC (Hercule, and ESAT software works again)
- [FDC]: Side changing is now correct: Game with only one side no longer crash if they try to access a second side (Dragon of flame)
- [FDC]: Fixed a bug if a sector CHRN is almost ok, when a read sector command is issued (Wild Street is now ok)
- [FDC]: FDC is more robust: Trying to load a random file as RAW will fail without a crash (hopefully)
- [TAPE]: RECORD function added
- [TAPE]: Added length of tape
- [TAPE]: Lot’s of rework on the WAV support: Now load more files, including « Skate Crazy », « Basil », « Footballer of the year II » without the « reverse polarity » trick.
- It mainly try to reproduce what’s actually in the CPC: Filters, gains, and so on.
- [TAPE]: User can now set the Tape position at wanted position (by clicking on the counter status bar). Also, a shortcut is added to set tape to wanted block, or last ejection position
- [General]: Added file extension if needed, when saving file (for CDT, CSW, WAV, DSK, SCP, SNA files)
- [General]: Fixed a memory leak (which should have no impact on standard use)
- [Memory]: 464 has now no PAL
- [Display]: Full screen is now available for Direct X 9 display. Also, a smart sync has been added, to sync the display @50hz with 100hz display
- [DirectX9 display]: For people who want smooth display, it’s possible to sync Sugarbox with your monitor. Display is smooth, but whole emulation speed is affected as well (typical 60 hz monitor will run at 120%)
- [DirectX9 display]: For lucky people with 100hz monitor, an option has been added, to insert a black frame between two frame. Whole speed is exactly 50hz, and display is really smooth.
→ [cpc] SugarBox 0.23 (Yet another CPC emulator)
Sugarbox v0.23 14 novembre 2014
- [TAPE]: Tape support: CDT/WAV/VOC/CSW(v1.1 & v2.0, with or without Z-RLE encoding) files are supported
- [TAPE]: Possibility to save Tape as WAV, CDT (with only DRB or CSW blocks), CSW (v1.1 or 2.0 compressed). Preliminary, maybe unexpected results can occurs !
- [FDC]: Head is no longer forced to track 0 when a disk is ejcted. This fix a bug in disk swapping for Targhan.
- [FDC]: Track delay time added. This fixed a weird protection scheme on Daley Thompson Olymic Challenge
- [FDC]: The US1 FDC bit is no longer wired. This fixed « Sphaira » original game.
- [FDC]: When « Read id » is performed on a not formatted track, the track was incorrect in the result. This is now fixed, fixing « Return of the jedi ».
- [FDC]: Fixed a bug that only load up to 42 tracks per side for a disk. Now, 720k disk (with 82 tracks) can be loaded again correctly
- [FDC]: Fixed a bug that prevent « motor » command to be taken in account
- [FDC]: Fixed a bug related to BC bit in register 2, making « Starfox » game to work.
- [GUI]: Added protection button for the disks
- [FDC-eDSK]: Correctly save tracks that are not formatted
- [FDC-DSK]: Close dsk file correctly.
- [SHORTCUTS] :
- added ctrl+f9 -> Reset
- ctrl+f1: insert disk drive A:
- ctrl+f2: insert disk drive B:
- [Gate array]: Fixed a bug that was displaying incorrect colors when using the ghost registers
- [General]: On exit, if a disk has been modified without being saved, user is asked about it.
- [General]: Fixed some rare crash that can occurs
- [General]: A click on speed on status bar now toggle the emulation speed between « 100% » and « No speed limit »
- [General]: Some architecture and code optimization, increasing overall emulation speed (about +25% speed)
→ [cpc] SugarBox 0.22 (Yet another CPC emulator)
Sugarbox v0.22 22 juillet 2014
Main fix is on the CAPSImg.dll use: I found a way to use it without making it hang. This fix lots of CT Raw files that previously used to crash Sugarbox. Also, be sure to use the 32 bits version of the DLL !
What’s new :
- [FDC]: Fixed a wrong behaviour on a read sector command: When an overflow occurs, do not stop the command until the end of the sector. (This correct some version of « Famous Five » game)
- [FDC]: Disk rotation is simulated, with a slight variation depending on the time and the current track. Also, more realistic acceleration of the disk is done (« Basun » now run without any trick)
- [FDC - HFE]: Add support for HFE files
- [FDC - Dsk]: Add various fix to make it more reliable
- [FDC - CT RAW]: When reconnecting last revolution to first, support track that does not contains IAM: Length computation is done using first IDAM
- [FDC - CT RAW]: Handle correctly CAPSImg.dll error, so no more memory corruption occurs on incorrect dumps
- [FDC - CAPSImg.dll]: Use a workaround to avoid crash of the lib that can occurs when image with weak sectors are read.
- [CRTC0]: Fixed an incorrect behaviour on VSync duration from R3 (Correct Druid 2 )
- [PSG]: Fixed a bug that can corrupt memory when a register grater than 15 is written
→ [cpc] SugarBox 0.21 (Yet another CPC emulator)
Sugarbox v0.21 20 juillet 2014
- A quick 0.21 version to correct few things about CAPS library: I made a mistake and incorrectly include it without the proper licence files. So, the 0.19 and 0.20 version will be removed. So, as it is intended to be used, I just change the way it worked now: If a CAPSImg.dll can be loaded when inserting a CT Raw or a IPS file, it will be used (otherwise, the disk will not load). Visit the Software Preservation Society for more details.
Other than this, here is what’s new :
- [CRTC0] :Add support for CRTC 0: Few demos may not worked, but lot’s of them do (including the impressive « Shadow of the beast » preview from Overflow)
- [CRTC1]: Fixed a little error in the CRTC, preventing « Chany dream 2″ from running properly.
- [CRTC]: Fixed a case where HSync falling edge is not detected ( Chany dreamend part 8 is now displayed correctly)
- [Display]: Fixed an incorrect behaviour of Screenshot function, that used to take incomplete screenshots
- [Display]: Adjust a bit position of the screen
- [SNA]: Fixed some bugs with snapshots that have VBL bit = 1 in the PPI.
- [SNA]: Fixed Vertical Adjust improper in snapshots
- [FDC]: Fixed a rare case where, in a Kryoflux RAW file, the index is missing from the stream (which caused a crash to occur)
→ [cpc] SugarBox 0.20 (Yet another CPC emulator)
Sugarbox v0.20 8 juillet 2014
A quick version, to fix two problematic crashes.
- EDSK support secured: SCOOP #3 no longer result in a crash of the emulator. Also, if index table is in disorder, non longer crash the emulator
- Fixed of a memory bug in the SCP support: They no longer crash when leaving / ejecting the disk
- Fixed drag and drop of SNA files that wasn’t working (and also corrected the « Snpashot » incorrect spelling)
- Improve the way vertical synchronisation is done by the monitor
- Adjust « Standard size » display to 384×280 – Super cauldron or Prehistorik 2 now display correctly in full size