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
>

Reply via email to