Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add an option to the config where drivespeed is not emulated but goes 'as fast as possible' #137

Closed
rhinoid opened this issue Nov 22, 2022 · 5 comments

Comments

@rhinoid
Copy link

rhinoid commented Nov 22, 2022

I just embedded my old game on the web (amazing!)
but the speed is very true to the Amiga speed. For the game this is great, however for the 'drive speed' I would rather have that it just goes as fast as possible. The modern crowds are just not used to waiting.

Is there an option, (Or can you add an option) where the drive speed is just sped up?

Thanks!

@mithrendal
Copy link
Contributor

there is an option drive speed in the setting dialog... when set to 8 it is much faster ...

there is no extra special call parameter for it yet ... we have to introduce one first... but as you can inject command scripts you are able to inject a command to set drive speed to 8 like this when invoking the player

buttons: [{run: true, script: `wasm_configure('DRIVE_SPEED', '8');`}]

to see whether all is ok you can add one alert command to check that it is really set like this

buttons: [{run: true, script: `alert('drivespeed=8');wasm_configure('DRIVE_SPEED', '8');`}]

another possiblity would be if you can copy that puppy onto a hdf ... which is much much faster

what would also be possible is that we automatically mount 'Hoi-1.adf' ...

another thing is warping... if you set warp during disk load to on then it warps frames during disk activity ... that means it runs as fast as possible and skips rendering frames...

buttons: [{run: true, script: `alert('warp=on');wasm_set_warp(1);`}]

there is also no special property yet for it you must try the script way first ...

@rhinoid
Copy link
Author

rhinoid commented Nov 23, 2022

Warp is no understatement. It flies through the load times now! Thank you!

@mithrendal
Copy link
Contributor

I have problems with Hoi and warp during disk load .... it does not seem to stop the drive motor when it asks for disk2. This makes the complete UI freeze and laggy because it is executing the Amiga like crazy ... until the drive stops .... which not happens ... 🫣

I am using AROS kick replacement roms.

here is the javascript console log where we can see what the drive does


vAmiga message=DRIVE_STEP, data=0
(Index):1 warping at least 25 frames at once ...
(Index):1 vAmiga message=DRIVE_STEP, data=0
(Index):1 warping at least 25 frames at once ...
(Index):1 vAmiga message=DRIVE_STEP, data=0
2(Index):1 warping at least 25 frames at once ...
(Index):1 vAmiga message=DRIVE_STEP, data=0
(Index):1 vAmiga message=DRIVE_LED_OFF, data=0
(Index):1 vAmiga message=WARP_OFF, data=0
(Index):1 vAmiga message=DRIVE_MOTOR_OFF, data=0
(Index):1 vAmiga message=DRIVE_LED_ON, data=0
(Index):1 vAmiga message=WARP_ON, data=0
(Index):1 vAmiga message=DRIVE_MOTOR_ON, data=0
<--------- here it asks for disk 2 but Drive_LED and MOTOR is still on/running which keeps also the warp running
26(Index):1 warping at least 25 frames at once ...

so we have two options ... fix the game to shut down the drive when waiting for disk ... or we do not use warp during disk load

what about using drive speed = 8 in conjunction with another different warp mode parameter called warpto ?

warpto: 2000 for example warps (one time) 2000 CPU cycles forward when it is starting the emulation.

@rhinoid
Copy link
Author

rhinoid commented Nov 23, 2022

Oh on the Mac it seemed to work fine. I only had incidental gfx glitches

But if this is the case I'll change it to speed 8!

@rhinoid
Copy link
Author

rhinoid commented Nov 23, 2022

Disk speed 8 is still very fast. So I'll keep that setting!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants