INTERVIEW
Kevin Horton
Kevin
Horton programmed the Colecovision game 'Kevtris',
modifies Atari Jaguar controllers for use on the Intellivision,
and also created the amazing 2600 Bankzilla.
MT>
How did you become a designer of electronic systems and an expert
on videogaming console architecture?
KH> I've pretty much taught myself; having very little formal
education. I've been soldering since I was 6. I got into programming
in a big way when I was 16 or so; got a microprocessor trainer
kit for xmas.
MT>
The Colecovision is the only console to be designed completely
from readily available off-the-shelf parts. Did this make reverse-engineering
easier?
KH>
Yeah it did, actually. I used my multimeter and logic probe, along
with some chip pinouts to figure out the address mapping. Some
software reverse-engineering work was then done to figure out
how the graphics worked. Kevtris is written to use character
graphics entirely, since I couldn't figure out how to use sprites
at the time. Since then, however I have gotten the MSX programming
manual which explained all the gory details about the video chip.
MT>
What type of demos did you produce prior to creating Kevtris?
KH>
Hmmm... good question. I don't remember too much, other than uploading
a custom character set and then displaying same; and figuring
out how the video chip was programmed to set the addresses for
the data uploaded. I pretty much started work on the game first-thing.
Ironically, the upside-down intro screen was added last. I was
messing around on the CV to see how that was loaded in the BIOS
and got the cute idea to snag the data right out of the ROM, invert
it, and flip it to display everything rotated 180 degrees.
MT>
You originally started programming the Colecovision game Kevtris
on a 32K battery-backed Ram cart. Did you build this cart yourself?
KH>Yes
I did. It was nothing more than a broken Turbo cart with some
perfboard grafted onto the top, with wires hooking up to the two
switches, sockets, and the address encoder chip.
MT>
What are the differences and similarities of programming on the
Ram cart and the emulator?
KH>
Well, it's a trade-off. On the emulator it's very fast to test
something out, but the accuracy can leave a bit to be desired.
On the RAM cart it took awhile to program (since it had to fail
the program test for each byte :-) however the test was on the
real hardware, so it was accurate.
MT>
What are the major issues that need to be resolved in order to
create a working prototype of a console?
KH>
Well these days I'd use a socketed cartridge with an EPROM emulator.
This is a device that plugs into your computer's parallel port
and it has a plug on the end shaped like a chip, so you can plug
it into the socketed cartridge. You then use a program on the
PC to download the code under test into your emulated EPROM so
it can be tested on the real thing. This has all the advantages
of the emulator (fast, easy) with the advantages of a real console
(accuracy of testing).
MT>
100 Kevtris carts were produced? Did you track or list
the lucky owners? Any plans to re-release Kevtris again?
KH>
Not really, though I kept all the envelopes the original checks/cash
came in :-) It most likely will not be re-released.
MT>
Your are currently working on modifying an Atari Jaguar controller
for use with an Intellivision. How is the status of this development,
and why the Jaguar controller?
KH>
It's been done for a long time now. The only stipulation is I
had to modify my InTV2 for use with the controllers (since the
controller has a microprocessor in it, and there was no way to
power it other than to hack the console some to get power to it
via the joystick port). I used the Jag controller since it had
every button required for the InTV... It was a match made in heaven.
Heck, when you press the pause button on the controller, it sends
the signal to the InTV that makes it think you pressed the two
keypad buttons required to pause.
MT>
A large amount of the work you've designed deals with 'bankswitching.'
For those less technical readers, what is bankswitching, and why
is it so important?
KH>
Basically, bankswitching allows you to cram more code and data
into a cartridge than a console could normally handle. More code/data
= better, more graphical games with (hopefully) better gameplay.
Bankswitching itself is a way to have multiple "pages" of data,
where which page you read is selectable by the game software.
You can only see one page at a time however.
MT>
Please give a description of your Bankzilla creation.
KH>
It is an all-in-one Atari 2600, complete with a full menu interface
controlled by the joystick. You select the desired game from a
list using up/down to select the desired title, and left/right
to change manufacturers. Fire starts the selected game. When you
are done playing, you hit the power button to return to the menu.
The power LED changes colour to tell you which type of controller
to plug in. Blue = joysticks, Green = paddles, etc.
MT>
You tried three approaches to creating Bankzilla. What are the
theories behind the all-logic, EPROM-table, and FPGA approaches?
KH>
All-Logic: Uses standard TTL/CMOS logic. Lots of gates and standard
chips. I drew up a schematic that used about 40-45 chips to implement
just the bankswitching portion. This was clearly way too large!
EPROM lookup: This used some EPROMs to replace the address decoding
stuff. This worked OK but was still 25-30 chips. Scrapped.
FPGA: This was the winning ticket. FPGA stands for "Field Programmable
Gate Array". This is a user-programmable chip basically. It has
inside it, about 2000-3000 gates worth of fully customizable logic.
To program it, I had to write a "hardware definition" file, which
is sort of like a programming language for digital logic. This
was then downloaded into the FPGA for testing. Total chip count
for the bankswitch emulation was just 3 chips. Much better than
40-45 for the standard logic method.
MT>
What's next -- Any future plans?
KH>
Not too terribly much. Was thinking about an even better Bankzilla...
The current one cannot play the supercharger demounit demo or
Decathlon, and the software/hardware is in need of some
overhauls, so I thought I'd have another go. The current Bankzilla
has 48 chips in it. I think I can squeeze it down to just 12 or
less. It will then be able to fit in a very small case; smaller
than a 2600Jr by far.
Thank
you Kevin! Good Deal Games wishes you the best of luck in your
future endeavors, and thank you again for bringing Tetris to the
Colecovision!
E-Mail:
Kevin Horton
or
visit his webpage!
Are
You Involved with Classic Games?!?
Let us know, and we'll interview you!
E-Mail:
GOOD
DEAL GAMES
GOOD DEAL GAMES HOMEPAGE
Copyright © 2003, GOOD DEAL GAMES