Contents | < Browse | Browse >
Nino Brunori - Visionary Unlimited!
This is a preliminary technical description of the basic functions of
the ADAM computer and the Coleco/ADAM Emulator.
February 25, 1995
When the beta version is ready this message will be re-released to the
rest of the Amiga community. Although this is a basic description of my
work, it still has a lot of my R&D, my intention is to excite the Amiga
community and show that the Amiga can emulate yet another cool computer
with ease and show that we are still the pioneers in the computer
mainstream, that in order to keep Amiga alive we need to develope more
versatile software and hardware. Coleco screwed themselves, and Commodore
wasn't much better. We need to help each other, and I need your support
in the development of this product, idea's for improvement, developement,
and BBS distribution.
This emulator will be able to run all Coleco programs, but because of
obvious differances, hardware is simply impractical to impossible.
Here is a short breakdown of the ADAM computer.
ADAM Original (Revision 80):
8K Rom, 64K mem, 16K Video Mem
3.58 Mhz, Video 10.7 Mhz
2 160K Disk Drives, 2 256K Digital Data Drives (High Speed Tape using
specially formated cassettes), 300 Baud Modem, Serial/Parallel Card, Extra
64K Mem, Daisy Wheel Printer, Auto Dialer, Atari Emulator, 32K Max
Cartridge Software, Digital Joysticks, Digital Paddles, Special Driving
Module, Roller Controller (TrackBall), Super Action 4 Button Controller.
ADAM Description of Hardware and Emulation
Audio: ADAM consists of 3 separate voices and 1 white noise.
Emulation will be a step back in time for Amiga, but very
easy to do.
Cartridges: ADAM uses carts up to 32K, hardware restrictions forces me
to make a backup of each cartridge and transfer them to the
Amiga in order to use them. Emulation for this software
will be simple because these carts never accessed Disk
Drives or the Keyboard.
Controllers: The Coleco controllers are the hardest part to emulate, all
options available are the usual up, down, left, right,
fire 1 also fire 2, fire 3, fire 4, spinner x, spinner y,
and a 12 digit keypad. I have an idea as to it's emulation,
but it's a closely guarded secret. The Emulator will be
able to use all Coleco Controllers, the exception with the
Roller Controller is that the power supply runs off the
machines with an adapter, I will supply voltage requirements
for the controller for usage.
Clock Speed: 3.58 MHZ will be no problem. Emulation will set timing to
normal no matter what speed the Amiga runs at, a variable
speed will be added to the external shell.
Drives: Disk Drives were 51/4 DSDD 160K completely useless in todays
society, the Digital Data Drives were High Speed Digital
Audio Cassettes formated to 256K and were essentially disks
in the form of Cassettes but a little slower, they had
directories with 0-255 at 1024 bytes each block = 256K. The
emulator will emulate 2 digital data drives but dynamically,
it will load a 256K data pack file in memory R/W will be in
memory and at the end of a session any writes will be made
to the file at the users discretion ie... With an alert
that the data pack has been changed. Access time will be
Amiga ram access speed, the faster the better. All pack
files and cart files will be loaded through the Emulator
shell and a requestor.
Keyboard: The Keyboard has 75 Keys, everything is on the Amiga
Keyboard and some. Emulation will be no problem.
Memory: 64K Ram is not much from the Amiga, Expansion memory went as
high as 1/2 Meg. Most of the software on the ADAM used only
64K, but there were a few other programs that did use the
64K expander for their personal use, with the high speed
256K ram data packs, I'll limit the to the extra 64K. Total
128K mem. Which only kicks in through the Emulator shell.
Added all together 2 256K drives + 128 + emulator = at least
1 meg to run, there should be no Amiga users out there still
running off 1/2 Meg, if there is, they don't deserve my work!
Printer: The ADAM's famous Daisy Wheel Printer, a loud obnoxious
device that print 120 Words a minute, 16K buffer. This
piece of krap is not worth the 2 foot waste of space to
emulate, so all print goes to the PRT: device.
Ports: Serial/Parallel Port this option was a $50.00 board that was
in limited supply, anyway there's no need whatsoever to
emulate it. The ADAMLink 300 Baud Modem had it's own
special connection port. The Auto Dialer, another piece of
garbage like the ADAMLink used pulse dialing, check this
out! Turn ADAM on, put in software, hit reset, 2 minutes
later software is booted, call up menu another minute,
select number, pulse dial and then pick up the phone. Best
case scenario takes 5 minutes to dial someone. The guy who
thought of this one should have stayed in the cabbage patch
dept. The Side connecter expansion port is impossible to
emulate without hardware, on the ADAM it was used primarily
for the Atari 2600 emulator and the Auto Dialer, on the
ColecoVision it was also used for the ADAM computer add on.
Video: ADAM's Video consists of 16K memory buffer for patterns,
256x192 and 15 colors for Border and Pixels also 32 separate
sprites. Emulation will be difficult because of the way in
which ADAM setup and used it's video chip. In studying the
ADAM video scheme it seemed more like a hack but was
revolutionary for its time. The video itself was set up
with 8x8 patterns with a 2 color state. This makes out a
32x24 8x8 patterns or 8 * 32 = 256, 8 * 24 = 192 which
ultimately means you can only have 2 colors every 8 pixels,
this is why most Coleco games never had colorful
backgrounds. Another drawback was only 4 Sprites to a
horizontal line. The Emulator fixes all of the downfalls of
the the ADAM's video hardware architecture and greatly
improves on them.
Any call to hardware not supported will return an error return code.
This whole program was almost scraped. I recieved about 7 email
letters of support, one from california. I was suprised because I was on
an IBM board and all of a sudden, WHAM, I got mail. Anyway, I was
planning to use the original operating system for this emulator, then
after more R&D I found why should I translate the output of the operating
system and all of it's restrictions when I can just rewrite the EOS seeing
that the Jump tables call the functions and not the program itself. See
ColecoFig1.iff for more info. All which led to the development of ARTIE,
(ADAM Real Time Instruction Emulator) a highly optimized set of routines
that replaces the ADAM operating system and interfaces the ADAM output to
Amiga's output. This code is the finishing touches before beta release.
It was this code plus all my time in school which had set the release
date from last summer till 2 or 3 months from now. That's Coding, Debug,
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
This information is being released now in order to gauge the Amiga
community's response to another emulator for our great beloved machine.
Visionary Unlimited! will be looking for a few good beta testers. A
limit of 5 beta testers will be used for the preliminary release. All
beta testers will have to show proof of ownership of a Coleco Adam
computer (Possibly codes results from a simple program?) and will be
registered and have to return detailed bug reports on a timely basis.
If you're interested in being a beta tester for the Coleco/ADAM
emulator, Visionary Unlimited! would like to hear from you. There's two
ways to get in contact with VU!
1 Last! Amiga BBS
Leave a message to the SysOP that you'd like to be a beta tester
for the Coleco/ADAM Emulator. You'll be notified when beta test
versions are ready.
2 Reply to email@example.com with your request to be a beta tester.
Please put the keyword BETATESTER in the message description when
replying. You'll get an answer back and be given a time frame for
If you are interested in the Coleco/ADAM Emulator, but do not want to
be a beta tester, that's alright! Leave a short message at either two of
the systems above, stating you'll just be interested in the Emulator, with
your name and address. If there's enough response, there will be a
product flier mailed to all, otherwise it will be announced on the
InterNet and a short blurb will appear in the two leading Amiga magazines.
Nino Brunori / Paul Day