|
GoG: Eli, you are the author of Pretendo, nosefart and NESPalette. Can you tell us a bit more about your BeOS history ??
Eli: Surely. I have been following BeOS since R3... it was at this time that I was looking into using other operating systems on my PC. At the time, I was
running a dual boot with Windows 98 and RedHat Linux... A friend of mine had
pointed me to the Be Inc. website, and I was hooked. I thought to myself
that BeOS was like an elegant, and easier to use Unix-ish OS. I soon learned
about the BeBox, and to this day, I'm still trying to get my hands on one! I
didn't start using BeOS until R4.5, however, as this is when I had an
afterschool job, and was able to shell out the money for it. Definitely a
great investment, worth every penny. When R5 came out I had decided it would
be a good time to get into programming for the BeOS, so I read the BeBook,
and started fooling around with porting my NES emulator, Pretendo. After
about a month of on and off work, I had it running, though it wasn't that
wonderful, so I deemed it an alpha version, and there hasn't been a release
since. Eventually I found myself running BeOS full-time (no other OS on my
machine) enjoying it more and more. If there's one thing I owe to the BeOS,
it's definitely the way in which it has improved my programming. Using BeOS
pretty much forced me to learn C++, which has proved invaluable nowadays. As
for now, I'm still using BeOS as my primary OS, and will probably continue to
do so for quite some time. I've tried many operating systems, and none of
them come close in providing the pleasurable desktop and development
experiences that BeOS has to offer. I've recently released nosefart, and
NESPalette, so it's evident that I'm still coding for the BeOS :). I can
only hope that the future brings good things for BeOS (OpenBeOS).
GoG: Can you tell us more about your special relation with the NES ??
Eli: I received my first NES as a birthday present when I turned 7, and have been
playing NES games ever since. I have many nice memories of playing all sorts
of games with friends, my brother, and my father. I remember playing SMB1
with my brother for hours, and finally beating it, or going over to a friends
house for some two player Contra, or going head to head with my dad at Dr.
Mario. I suppose playing these games sometimes brings back old memories, and
reminds me of the closeness that once existed with my friends and family.
Things are different nowadays, but that's a whole different story. I'm
older, and busier now, so I don't have much as much time for playing video
games as I used to. As of now, most of the time I spend with regards to NES
is either in development, or inviting a friend over to play River City
Ransom... mostly the fomer, though.
GoG: When have started developing software for the NES ??
Eli: Just quite recently, actually, so I haven't made anything too impressive. I
probably could have started doing so at an earlier time, but I was always
against the idea of using an emulator over the real hardware to test things.
I'm doing electrical engineering at school, so I've only recently acquired
skills necessary for a hardware-based solution.
GoG: Can you tell us more about the NES-Developer Kit you made for BeOS ??
Eli: The devkit I made is called CopyNES, and was designed by Kevin Horton, an
acquaintance of mine. Although I did not design the kit, I have built two of
them, working off of the original schematics. The first one was wired on a
prototyping perfboard. This one took me quite a while to make as it was my
first real foray into the world of electronics... lots and lots of wiring!
In addition, I was working fulltime at the time, so I didn't have a lot of
time to put into it. This one sits on top of the NES in a small project
enclosure, and connects to the NES via an IDC cable that I snaked out the
back of an NES case. Not terribly elegant! The second time around, Kevin
actually did a board run, so a little bit of cash got me a professionally
made PCB that's actually quite a lot smaller than the first kit. This
version actually fits inside the NES case (with some minor work) and really
looks great. The only visuall difference between this and a regular
unmodified NES is that there's a DB-25 parallel port connector mounted to the
side of the NES case. It's really a shame I don't have pictures of this!
Perhaps I could provide some at a later time, as long as someone reminds me!
The original software used to run the devkit was written by Kevin in QBASIC,
so I had to devise a BeOS-based solution. This required me to write a custom
parallel port driver, and a GUI frontend. The driver was quite a pain in the
ass. I can recall many nights of mind-numbing debugging, but I was
determined to get things working. A picture of the first kit I built:
Please note, that this is a picture of the board only... it's not in it's
case, and it's not connected to the NES.
You can see pictures of the software, and some other stuff on my webpage,
http://www.vectorstar.net/~scanty (hint goto the nesdev section there)
Software for the NES is written in 6502 assembly, as the NES uses a custom
6502 processor. I use DASM 2.12, which I compiled for BeOS to assemble code.
I've also compiled some of Chris Covell's NES graphics tools to aid in
creating suitable graphics for the NES.
GoG: Have you actually used your kit to develop software/ games for the NES ??
Eli: Yes :). I finished my first demo sometime two weeks ago (I think). It's
nothing too impressive, although BeOS users might find it entertaining. I
won't spoil it! Go to http://www.vectorstar.net/~scanty/nesdev It comes
with sources for those who are interested.
GoG: What are your future plans for the devkit , pretendo ... ???
Eli: I'm still going at it with the 6502 assembly! I've started another demo, but
I'm not going to reveal anything about it just yet. Pretendo is still in
constant development, so we will see an updated version sometime in the
future, although I don't know when. Currently, I'm redesigning the BeOS
graphics engine. The NES emulation core is pretty solid, with only sound
missing. I plan on writing a new sound core as soon as I finish up with the
BeOS graphics core. Pretendo is currently much more accurate than previous
versions, so a lot of games that did not work now will. It's also a lot
faster as we've introduced a caching subsystem for graphics, and some other
goodies. We still have a ways to go in terms of speed, however. There is
not one drop of assembly in there, yet :).
GoG: Do you want to add something ?? A message / request / question for our visitors ??
Eli: Hmmm..... I'd like to thank anyone and everyone who had read this far! I
know I have this terrible habit of ranting on. If you're more interested in
anything discussed in this interview, feel free to e-mail me. Also, any
donations of NES carts or hardware would be greatly appreciated. Contact me
if you've got some NES stuff you've been itching to get rid of! I think
that's about it.
GoG: Thank you very much for your answers !!
Eli: No problem. :)
|