Re: NES emulator hack that might be interesting

From: Mia Magnusson <mia_at_plea.se>
Date: Fri, 31 Aug 2018 18:28:02 +0200
Message-ID: <20180831182802.00004dee@plea.se>
Den Thu, 30 Aug 2018 21:56:55 +0100 skrev smf <smf@null.net>:
> It wouldn't be directly applicable to vice because (apart from vsp, 
> which is rare in games) you have to move the data around manually,
> there isn't a handy equivalent to PPUSCROLL.

It could however be implemented in Amiga emulators. Commodore but not
8-bit :)

The trouble is how to know beforehand where the screen starts/stops
vertically. Horisontally it's more or less just to have a look at the
modulo registers, except that you might get garbage to the left of the
"official" screen on the first line and to the right of the last line,
and you can't really tell where one line ends and the next starts so
you could see some horisontal wrap in the extended screen area.
 
> But you could detect screen scrolling by comparing how the data in 
> memory is moving around.
>
> I think he's missing a trick as well. With modern cpus you have
> enough spare processing power to save stae, fast forward the
> emulation to see what data will scroll on screen & then restore the
> state. That gives you a problem for dying, but you can always add
> optional cheat codes while it's fast forwarding.

One problem is that you won't be able to know how computer generated
characters behave if they either have some random element to them or if
the player interacts with them in any ways.

I think that for a C64 or similar, you'll have to write code specific
to every game to make it work perfectly. Otherwise for a game like
Boulder Dash you could get the map and the emulator could remember how
the map looks like off screen, but not be totally sure what happens with
the computer controlled dynamic stuff.

For some games, like Scramble type games, the playable area is really
wide, so there is a question of how much screen should be displayed.
For that kind of game there isn't much reason to show that much either
though.



-- 
(\_/) Copy the bunny to your mails to help
(O.o) him achieve world domination.
(> <) Come join the dark side.
/_|_\ We have cookies.
Received on 2018-08-31 19:02:03

Archive generated by hypermail 2.2.0.