slingshot wrote: Tue Nov 12, 2019 9:52 pm
Cyprian wrote: Tue Nov 12, 2019 8:52 pm
"Release the bus for 64 CLK cycles." - it uses wrong cycle split scheme
I've also changed that back to 64/64.
I don't know how the original performs, but my main interest is demo compatibility, which require cycle perfect operation, and it's hard to achieve without having this as a design goal from the beginning. That's why I'm interested in the re-creation from the schematics.
the split on the real hardware looks like:
- 65 bus cycles for the BLiTTER - 63 for fetching data plus 2 for bus mastering;
- 64 bus cycles for the CPU. One important remark. The BLiTTER counts 64 cycles USED by the CPU. It means long instructions (like div) can significantly delay the BLiTTER.
That split is implemented in the latest Hatari and Steem emulators since this year.
If I'm not wrong, in the Suska's code I see that wrong 64/64 split scheme, and also I can't see code responsible for counting cycles used by the CPU.
Atari: V4sa TT030 Falcon030 Mega ST Mega STe 1040 STe 520 STm 800XL 65XE Jaguar Lynx I/II 7800 Portfolio / VME: ATW800/2 Mach64 Mach32 ET4000 CrazyDots PAMNet / SM146 SC1435 SM124 / Antonia2 ATSpeedC16 TF536 PAK68/3
Megafile30 Atari1050 DDDHDD XCA12 SF314 / AVGCART SUBCART SidecarTridge ACSI2STM FujiNet LynxMultiCard SkunkBoard CosmosEx SatanDisk UltraSatan USBFloppyDriveEmulator SDrive SIO2PC Eiffel
http://260ste.atari.org