From: Simon Cooke <[EMAIL PROTECTED]> > From: "Aley Keprt" <[EMAIL PROTECTED]> > > > As for Mode 1 timing, the SAM is deliberately slowed down in Mode 1. > > > > But the question is how this is done, when it is automatically turned off > > when saving to tape. I mean when you load ZX-ROM and type LOAD"" you are > > able to load something --> CPU is really slowed down. But when you type > > SAVE".." the result is unusable, because CPU isn't slow!!! > > No, Mr. Smarty Superior Pants, it's because the CPU isn't slowed down as > much as it needs to be. LOAD incorporates a certain amount of tolerance > because not all tape drives actually play back at the same rate - so the > pitch would shift. SAVE doesn't have that tolerance (doesn't need to; all > systems SAVE at the same pitch - and the LOAD routine handles the variance). > > So while the LOAD routine can happily handle being run at a different speed > (say, 4MHz instead of 3MHz), and still get usable results - because the > routine just thinks it's getting a really slow tape played into it - the > SAVE routine can't handle it, and it'll produce too high a pitch for the > LOAD routine on machines running at 3MHz.
Please, keep away of there "Mr.Smarty...". Since I wanted to make good ZX-ROM replacement for Sam, I did further experiments on this. While LOAD runs approximately at 4.1MHz, and can load most tapes, SAVE runs at 4.8MHz. At least I am sure at SAVE side. How do I tested it. I expected that SAVE is running at 4.8MHz, since it is approximately the value of Sam in modes 2-4. So I changed all timing values in ZX-ROM save routine, by simply multiplying them 4.8/3.5. Approximately. What was result? I got the red-cyan lines with exact look. I mean they were identical to the ones known from ZX Spectrum, i.e. 1 cm wide on my TV and running slowly from down to up. This is why I still ask why the computer is not slowed down that times. Also a very few games runs at least twice as fast as they should. I found and proven one obvious reason: When the game uses port 253 to access AY, it surprisingly (at lest for me) activates MIDI out interrupt, which causes interrupt. If a game is simple and is able to run faster, it runs faster. At least one more game run faster too, without using AY. I expect it is because it originally kept DI for more than one whole frame, and now it sets EI sooner, resulting in not-skipping an interrupts, which were originally skipped on ZX Spectrum in DI time. > > > Simon > > > (running a 1.4Ghz AMD T-bird with 0.5Gb of RAM these days... and not > > > noticing any memory contention at all) > > > > Don't remember: Not noticing something doesn't mean it doesn't exist! > > > > Well DUH!!!! > > Simon >

