Kroc / elite-harmless

Disassembly (CA65) of the Commodore 64 port of the seminal space-sim Elite, by Ian Bell / David Braben.
https://discord.gg/ZYnQr5S
Other
93 stars 12 forks source link

2MHz VBlank on C128 #8

Open Kroc opened 6 years ago

Kroc commented 6 years ago

On C128 hardware, run the CPU at double-speed (2MHz) during the VBlank; the display screen cannot be maintained during 2MHz mode. Hacks for this already exist out there, this will just make it easy to include along with other enhancements in Elite DX.

mrdudz commented 5 years ago

Please also consider supporting other accelerators - Uz's "Elite 128" manages to scale well in that regard. The original Elite just runs crazy fast and becomes unplayable, so he must have added some code to make FPS go up, not just absolute speed.

Kroc commented 5 years ago

I've no real hardware to test with, just emulators. Yes, you're right that the game just goes as fast as the system does so tying the logic/physics to some fixed rate is necessary.

mrdudz commented 5 years ago

Well, SCPU is emulated at least :) And i am sure you'll find people who can do tests on other hardware.

vvrbanc commented 5 years ago

From the Turbo Chameleon programming docs:

"If bit 5 of the turbo config register (D0F3h) is set then bit 0 of the VIC-II register at 53296 (D030h) controls the turbo. This makes the turbo switchable by software that was written to use the 2 Mhz mode of the C128 to speedup the program."

So if it's made to run faster on a C128, it will probably run faster with a TC cartridge too.

mrdudz commented 5 years ago

That is correct - however, it will not unleash the full power of the Chameleon. On C128 you can only enable the 2MHz mode in the borders (because else the display gets corrupted), but the Chameleon turbo (and SCPU) can be always enabled.