Author Topic: Another CPC emu, with bunch of questions (about Z80 timings and FDC)  (Read 14520 times)

0 Members and 1 Guest are viewing this topic.

Offline SyX

  • 6128 Plus
  • ******
  • Posts: 1.129
  • Country: br
  • Liked: 1121
  • Likes Given: 1871
Really great work in the floppy section!!! :) :) :)

Your emulator runs Basun perfectly :)  Awful game but nice disc protect... ehem bug xDDD, it stops the motor of the FDC, but try to read a sector and get datas before the motor get stopped completely.

Offline Lone

  • Supporter
  • CPC664
  • *
  • Posts: 99
  • Country: fr
  • Liked: 183
  • Likes Given: 75
A little version, that corrected some crashes on very few eDSK disk, and some double face SCP.
Also, corrected the vertical sync, and adjust the display zone a bit.


Here's the details :


Sugarbox v0.20 | Sugarbox




Regards

Offline Lone

  • Supporter
  • CPC664
  • *
  • Posts: 99
  • Country: fr
  • Liked: 183
  • Likes Given: 75
Another version : Sugarbox v0.21 | Sugarbox


Mainly remove the CAMPSImg.dll, that I shouldn't used that way for license reasons ( my bad, I *should* read all those boring stuff before using them !). Support for CT Raw and IPF is preserved as long as you get a proper DLL from the SPS Site.


Also, some few corrections in the CRTC (0 is supported !), some minor other corrections, and hopefuly no new bugs.


Offline Lone

  • Supporter
  • CPC664
  • *
  • Posts: 99
  • Country: fr
  • Liked: 183
  • Likes Given: 75
New version, once again.


Support for HFE, and various bug fix....


Sugarbox v0.22 | Sugarbox

Offline SyX

  • 6128 Plus
  • ******
  • Posts: 1.129
  • Country: br
  • Liked: 1121
  • Likes Given: 1871
Great Work!!! :)

And thanks for adding to the package the FW314 and FW3.14EXP roms :)

Offline Lone

  • Supporter
  • CPC664
  • *
  • Posts: 99
  • Country: fr
  • Liked: 183
  • Likes Given: 75
Hello there


A quick note to inform you about a new release. It's 0.23 and here is what's new :



- [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)




Here is the link : Sugarbox v0.23 | Sugarbox






Offline Gryzor

  • Administrator
  • 6128 Plus
  • *****
  • Posts: 16.020
  • Country: gr
  • CPC-Wiki maintainer
    • CPCWiki
  • Liked: 3454
  • Likes Given: 6212
Thanks :)

Two small notes: at MAX size, borders are... awkward?

Also, it'd be nice if you implemented file associations for dsk images...

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1981
  • Likes Given: 4650
WoW! That's a MAJOR Update!!!! Awesome!!!  :) :) :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline Lone

  • Supporter
  • CPC664
  • *
  • Posts: 99
  • Country: fr
  • Liked: 183
  • Likes Given: 75
Yeah, sure it need an installer, but you can, by hand, associate dsk with it.


Or use command line. Or drag'n'drop !


The "max screen" feature is used to see the whole area (what is also not displayed). Maybe I should remove this, if it's to disturbing.
Don't forget we're still in beta phase, the beta tester are welcome to give their feeling about all of this !


Thanks anyway

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1981
  • Likes Given: 4650
The "max screen" feature is used to see the whole area (what is also not displayed). Maybe I should remove this, if it's to disturbing.


No, please leave it. It's awesome for the development of Overscan-Games. Here an example: Please start "--RUN-ME" from this DSK under FutureOS. Press Space when you see the loading screen. Then Press "1" in the main menu. And in Game switch between "Normal" and "Max Screen". It makes a difference. Great to have the max screen option



TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline Joseman

  • 6128 Plus
  • ******
  • Posts: 788
  • Country: es
  • Liked: 646
  • Likes Given: 445
I've tested the emulator today

it works very well, even CDT's (bleepload) that doesn't works on other emulators!!

Only that the CDT's i've tested, the sound of the tape is behind of the real data loaded in the emulator, with bleepload loader you will see the effect with the counter, or even in the standard blocks.

Other DSK that i've tested (weak sectors protected) load correctly here! (again other emulators dont'!)

Good Work!!
« Last Edit: 12:45, 16 November 14 by Joseman »

Offline TheElectricMonk

  • CPC464
  • **
  • Posts: 6
  • Country: de
  • Liked: 1
  • Likes Given: 0
As I've written in another topic, I like this emulator a lot - especially since you informed me that fullscreen is on the "to do" list.  :D

Is it just my sound card though, or does the sound emulation not render "noise" correctly? I'm not a sound expert, so this may be hard to describe, but normal music tones ("beep", "bloop") play correctly, but for example when you have a sound that's an explosion or a shot ("kccchhhh", "pssh") , it doesn't play. Does anyone else have this problem?

EDIT: I just looked up the words, sorry, English isn't my native language. The emulator seems to play tones just fine, but fails when it comes to producing noise.
« Last Edit: 19:23, 20 February 15 by TheElectricMonk »

Offline Lone

  • Supporter
  • CPC664
  • *
  • Posts: 99
  • Country: fr
  • Liked: 183
  • Likes Given: 75
Hey guys,


Thanks TheElectricMonk for your feedback. i'll try to investigate on this soon or later...




Also, I would like to present you a bit of beta version (a beta of a beta version, is this should be called a "Meta*beta" version ?)


Here's the point : I added some Full screen feature, but, I don't have too much material to test it in various condition, so I would apreciate if some of you could just run, test the full screen feature, and send me some feedback.


Here's the features :
- Windows mode : Add a special speed, called "VSync" : This just adjust the speed of emulation to your monitor. With this, the demo you run suffer no more tearing, stuttering, and are more fluid. Problem is that they are all a bit too fast : Monitor are ofter 60hz, then the whole CPC run at 120% of normal speed (with a bit of distorded sound, for example).


- Full screen is only supported through Direct X 9. VSync is also supported.
If you use the "100%" speed, it will test your monitor for a multiple of 50 hz frequency. You you're a lucky 100hz owner, then it will be fluid (like the vsync,but with correct speed !)


- Also, add a special menu item : "Insert blanck screen". With this, I tried to give a CPC monitor feeling (also for 100 hz owner), with insertion of a blanck screen between 2 normal frame. So you have a 50hz screen, which will destroy your eyes just like my old CPC monitor...


A tip : If you own a GSync monitor, disable GSync for "100%" speed with "Insert blanck screen" disabled (or you'll scync at an incorrect speed)/
Ans for 120-144hz monitor owner, turn it on with 100hz for best feeling.

All the advanced features need you to have a descent CPU ( a code I5 should be enough)

If you want to give me some feedback, please tell me :

- If it's work (or not), and which settings you have and use. This include :
    - Windows version
    - Direct X version
    - GPU kind
    - What you observe
    - Speed of emulation, use of vsync/"Insert black frame"
    - What did you tried to use

I also attached here a Snapshot of "Wake up" demo. First, because it's cool, and finally because I mainly use it to test the features.

The beta version of Sugarbox can be found here :

http://sugarbox.free.fr/release/Sugarbox_v0.24_b10.zip




EDIT : Save your work before running it !! It's my first project with DirectX, and it may be very unstable.... (didn't crash on the 3 machines I used, but... Never say never !)
« Last Edit: 16:43, 25 February 15 by Lone »

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1981
  • Likes Given: 4650
  - Windows version: 7 - 64 bit
    - Direct X version: 11
    - GPU kind: NVIDIA GeForce 8700M GT
    - What you observe: See below
    - Speed of emulation, use of vsync/"Insert black frame": 100%
    - What did you tried to use: Fullscreen

Great work!!!

In Fullscreen mode:
- The scanlines have different spacing, 8 are fine, 8 are to distanced. (Take a look at FutureOS desktop)
- I can't make a screenshot in fullscreen mode

Oh and you could rename the "Futur OS" configurations to "FutureOS".  ;)

Anything else is pretty fine, it runs stable and well here.  :) :) :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline Lone

  • Supporter
  • CPC664
  • *
  • Posts: 99
  • Country: fr
  • Liked: 183
  • Likes Given: 75

A quick fix version is available here :

http://sugarbox.free.fr/release/Sugarbox_v0.24_b12.zip

This should correct the problem with full screen (no more crash, should work far better on some Virtualbox machine.
Also, the scanline problem have been corrected (by adapting the size of display to size of window, to avoid the problem seen on previous version.
I also corrected the FuturOS, but I juste found another typo with it (next release will have corrected). It's defined as the default os for this version, just because I tried the tribute to the sister with 100hz full screen, and... Well, it's a great full-screen-scroller !
« Last Edit: 00:58, 04 March 15 by Lone »

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1981
  • Likes Given: 4650
Great motivation!!! Thanks!!!  :)  Currently I wait for somebody to paint me a fire wheel. Then I can move on to develop.  :) :) :)


EDIT: Well, there is still some jerking in the game, but you won't see it in the menu. Just mention this as reference. Currently I overwork couple things, part is scrolling and its timing to enemy movement. Also playing Soundtrakker songs take up soooo much scanlines. Will nearly all get better in next WIP.
« Last Edit: 19:30, 04 March 15 by TFM »
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1981
  • Likes Given: 4650
Hi! The latest release works well on my Laptop, but not on my Desktop (shows black screen only).

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline Lone

  • Supporter
  • CPC664
  • *
  • Posts: 99
  • Country: fr
  • Liked: 183
  • Likes Given: 75

Offline Gryzor

  • Administrator
  • 6128 Plus
  • *****
  • Posts: 16.020
  • Country: gr
  • CPC-Wiki maintainer
    • CPCWiki
  • Liked: 3454
  • Likes Given: 6212
Vsync crashes it on my laptop. GT640...

Offline Lone

  • Supporter
  • CPC664
  • *
  • Posts: 99
  • Country: fr
  • Liked: 183
  • Likes Given: 75
Hello there


A new beta version is now available. It's 0.24 and here is what's new :


- [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.


* Hopefully * the various direct X crashes are fixed, but I have a limited testing setups (with not a single ATI card, believe it or not...)


Sugarbox v0.24 | Sugarbox

Offline Lone

  • Supporter
  • CPC664
  • *
  • Posts: 99
  • Country: fr
  • Liked: 183
  • Likes Given: 75
Hey


New update of my emulator. I introduced SDL for the display (so easy lib to use...), so "fullscreen" has more options, like selecting resolution and refresh rate to use (which is fine if you own a 100hz capable monitor).
After some investigation of "how to realize smooth display", and interesting reading from Blur Busters | Everything Better Than 60Hz — including 120Hz, 144Hz, 240Hz, I worked on the "black frame insertion", to produce smooth 50hz display.

Also added a direct dsk/tape and snapshot handling from CPC-Power and amstrad.eu online libraries.
Also, lot's of various fix are included

Sugarbox v0.25 | Sugarbox

Here is the complete log :
- [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.

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1981
  • Likes Given: 4650
Hi Lone!


Great comprehensive update. Please also update the onboard FutureOS. I got used to use hotkey, now I really miss 'em if I have to use the mouse arrow.  ;D :) :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Offline Gryzor

  • Administrator
  • 6128 Plus
  • *****
  • Posts: 16.020
  • Country: gr
  • CPC-Wiki maintainer
    • CPCWiki
  • Liked: 3454
  • Likes Given: 6212
Quite a changelog! Downloading... :)

Offline TFM

  • Visit the mysteries of the CPC at www.futureos.de
  • Supporter
  • 6128 Plus
  • *
  • Posts: 9.899
  • Country: aq
  • Space Chicken for FutureOS is free!
    • index.php?action=treasury
    • FutureOS - The revolution on CPC!
  • Liked: 1981
  • Likes Given: 4650
Stupid Avast thinks it's an virus, told em not, but  :picard2:
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus