I think Richard's point was that the title belies the fact that the NES itself is not
being programmed, but rather an emulator is being implemented in LISP. I'm all for
programming game consoles in any and every language, including PROLOG and Simula-67. Yay.
The NES obviously can be expanded via the cartridge port. It seems some sort of bank
switching would be necessary (as is the cast on every early peecee (internally) anyway).
I find emulation in general a fascinating topic. It seems that not too many people on this
list are familiar w/the mechanics of creating an emulator (as of a couple of years ago. I
asked a question or 2 and got no reply. Perhaps my queries were regarded as white noise,
and were dispensed w/accordingly. Don't know. Anyone? bzzzzzzzz). There seems to be a
significant distinction made between emulation and virtualisation. They're similar of
course, in both cases code is being utilized to mimic on the host processor the results
that would be produced on the targeted system. It seems that in a lot of cases it should
be a fairly strait forward process. But even in such cases where there is a more or less 1
to 1 correspondence between the host's ops and and targeted system's ops, it
behooves the programmer to recreated every last detail of the targeted system, down to
gliches and whatnot.
It seems this approach is rather fundamental to virtually (no pun intended) all low and
much higher level exercise. If a firmware patch is needed to implement a new feature (such
as running flash on a cheap Taiwanese tablet knockoff, where earlier it would refuse or
crash the machine), how is this not in a broad sense "emulation" of a sort?
I presently have no interest in LISP. Perhaps somewhere down the road. Too much else to on
the playlist (including brushing up on my C, bought a cheap tablet to facilitate my
endeavor even). It's a crazy project for sure. Interesting. Thanks for the link. I
became aware of the MESS project and porting MAME to Linux and other plats. It seems w/all
that going on in my life I can barely sustain interest in a particular subject for more
then a week (Advance ADD doesn't help either). But seeing stuff like this helps.
A question I asked sometime ago was is emulation basically just parsing? Anyone.
Bzzzzzzzzzzz. Perhaps that's too simple a description, but it would it seems describe
what is taking place (and in that sense all assembling/compiling/translating is simply
that, parsing). I also had asked if it were practical to implement an emulator for
something _like_ an ibm pc using v86 mode as a skeleton. And being that v86 mode is a
stripped down emulator running in microcode, wouldn't such an approach make the
product faster?