How to connect a Mega Copy

Here is a quick post on how to plug one of the rare Mega Copy devices into your Adam. A Mega Copy was a device that was plugged into your Adam in between the Adam and the second data drive. When it was used it allowed you to copy a data pack onto a blank audio tape. A very useful thing to be able to do!

Below are pictures of how you connect it. Look closely to determine the alignment of the cables, do not plug them in backwards, you may end up ruining the device.

Once connected, turn on the Adam and boot the Mega Copy tape or disk.

Fixing a Bad Video Screen

If you come across an Adam that has a lot of static, sound issues, or no display on either channel 3 or 4 there is a simple fix for this. It requires opening up the system to get to the Colecovision board. To do this:

  1. Unplug the memory console from everything
  2. Remove the expansion slot cover
  3. Remove any cards in the expansion slot
  4. Unhook and remove any digital drives and empty drive face plates
  5. Turn over system and remove the 4 screws that hold on the face plate and the 8 screws in the recesses on the bottom
  6. Flip back over and remove the face plate and the top cover
  7. Now that you have the system open remove the 2 reset buttons, they just slide off and then remove the screws holding the top RF shield in place
  8. Towards the back of the Colecovision board you will see a metal box. This is the RF Modulator. Pop off the metal cover and you will see this circuit board

For the next step you will need a plastic screwdriver. A metal one will conduct electricity and can short out your computer.

Once you have the screwdriver, reconnect your Adam to the TV, plug in the keyboard and hook up the power supply from the printer then turn it on.

Using the plastic screwdriver, slowly adjust the Channel “B” alignment screw clock wise or counter clockwise till you have a good signal on both channel 3 and 4.

To adjust the audio we need some sound. The best thing to use if you have one is a game cartridge that plays music when you turn it on. Put one in the Adam and pull the right reset to start the cartridge. Now using the Audio subcarrier alignment screw you can turn it a little clock wise or counter clockwise to fix the sound.

Once you have done all this you can unplug everything and put it back together.

Turbo Pascal for CP/M and TDOS

I just finished making a CP/M (TDOS) data pack for Don in Canada containing Turbo Pascal 3.0. It was a little project getting it from the Internet into an emulator and then over to a real Adam. The steps involved were:

  1. Find and download the software software (Duh)
  2. Arc all the software using PKARC
    At the time of this post I am waiting for a new Compact Flash adapter otherwise I would have used the method described in the Making Tapes and Disks post to get the files on to a tape. But since I can’t at this moment I instead copied the archive to the Adam using Hyperterm on my XP system, a null modem cable, the serial port and QuickTerm on the Adam in TDOS. Once I had it on the Adam I could continue:
  3. Unarc the archive in TDOS
  4. Use the PDTINS.COM file to setup the terminal for Turbo Pascal. The Adam uses a Heath 19 emulation in TDOS but I learned that the Lear Adam 25 works on the adam too

After this I took a freshly formatted CP/M tape and copied the files to tape from the CF on the Adam.

Downloads

Making Tapes and Disks from Images

If you are like me eventually you are going to want to copy images to real media to use on your Adam, or copy real media to images for archiving or emulator use. There are a number of ways to do this.

Note: I have included all the programs and files needed at the end of this article

1. Disk and DCOPY

If you have a disk drive you can use an older PC with a double density 5 1/4″ drive*, MS-DOS and DCOPY to make an Adam disk from a disk image. DCOPY can create a disk image from an Adam formatted disk or create a disk from an Adam disk image.

*To make sure that your 5 1/4″ drive can do double density you can use the program TESTFDC which will test the capabilities of you drive and tell you what it can and can’t do. You can also use the MS-DOS command FORMAT ?: /1 /8 where ? is the drive letter (A or B). This will format a disk so that it is ready to use with DCOPY, if the format fails then odds are your drive can not do the lower capacities.

Creating an image

To create an image from a disk, insert the disk in your floppy drive, we will assume, it is drive B, then at the dos prompt type:

C:>dcopy b: /t:40 /s:8 /h:1 filename.ext

Where filename.ext is the name of the image you wish to create.

Creating a disk

To create a disk from an image, insert a blank disk in your floppy drive, we will assume, it is drive B, then at the dos prompt type the following:

C:>format b: /1 /8
C:>dcopy filename.ext /t:40 /s:8 /h:1 b:

Where filename.ext is the name of the image you wish to write to disk.

2. Compact Flash and TDOS

This method will let you create not only disk but tape images. The steps are a little more involved but not too difficult. To do this you will need:

  1. The AdamEm ADAM emulator that supports the Compact Flash (CF)
  2. HDD Raw Copy tool that allows your to read and write images to and from CF
  3. A CF Image that has TDOS
  4. The IDE disk image
  5. A blank 64 MB or larger CF
  6. Blank disk and tape media images
  7. A PC that has a CF adapter
  8. The Dragon’s Lair tape and disk images

If you do not have the emulator installed, unzip it to its own folder. You will also want to also unzip the HDD Raw Copy tool, the IDE disk image, blank media images, Dragon’s Lair images and the TDOS CF image into this folder.

Now open up the adamem.cfg file in the folder using NotePad and edit it to look like this:

-video 2 -da ide.dsk -idea tdos4-59.img -db diskette.dsk -ta datapack.ddp

This tells the emulator to use 320×240 video mode (-video 2), assign the image ide.dsk to disk drive A (-da) and to use the CF image tdos.img (-idea). We are also assigning drive B to a blank diskette image (-db) and tape drive A to a blank data pack image (-ta). You can substitute the filenames of real images if you are going to be making real media from the images.

A quick word on drive letters, numbers. There is no real consistency in how software on the Adam refers to the various drives. In Smart Basic and other software D1 and D2 refer to tapes, D3 and D4 refer to disk drives. In CP/M it depends on your system configuration, if you have disk drives then the disk drives are A and B then the tapes are C and D. If you do not have disk drives then the tapes are A and B. Many other programs refer to the tapes as A & B then the disks as C & D. TDOS lets you define the drives when you configure it. The TDOS image that is linked below is setup so that A,B,C and D are hard drives, E,F,G and H are disk drives, I and J are tape drives and K is a RAM disk. So in the above configuration shown for adamem.cfg the drives are assigned to these images:

E: = ide.dsk (The IDE boot disk)
F: = diskette.dsk (the blank disk)
I: = datapack.ddp (the blank tape)

Now double click on the AdamEm.exe file. It will either open directly into TDOS:

and put you at the A0> prompt or it will open up in the Hard Disk menu.

If  you are in the Hard Disk menu press Wildcard to get into TDOS (F7 on the PC keyboard).

Creating an disk or tape

The following may seem confusing but it has a certain logic to it:

To create a real tape or disk we first need to create a virtual image of a tape or disk image.

In other words, we need to take the image we have, attach it to the emulator configuration so that TDOS sees it as a disk or tape, then create a TDOS image of that media. Then we can copy the TDOS image to Compact Flash, put the CF into the ADAM and use TDOS to create real media out of the image.

So let us say we want want to make a copy of Dragon’s Lair on real media. I have included both the disk and tape image* so you can try both. To begin with, edit the adamem.cfg file so that it looks like this:

-video 2 -da ide.dsk -idea tdos4-59.img -db draglair.dsk -ta draglair.ddp

*Note you should use an old, unneeded game tape for this as they have a game pack directory versus a data pack directory.

After you have updated the .cfg file start AdamEm. First we will create a TDOS disk image of the Dragon’s Lair disk image using image20.com:

A0> image20 F:160 D:dragdisk

After entering the command you will be presented with a screen telling you to insert the media and press Return. Since we are using the emulated media we only need to press Return. Now the screen will just sit there, believe me it is working, we just don’t have real tape drives or disk drives to let us know this. Eventually it will say Image Written Successfully and return you to the A0> prompt. A quick explanation of the image20 command. The first parameter F:160 is the source drive, in this case drive F is the disk drive assigned to the -db image and the number 160 is the number of tracks to copy. The D:dragdisk is the drive and file we want to save the image on. If you do a dir d: you will see the image. To do a tape we would use the following command:

A0> image20 I:256 D:dragtape

I:256 is the drive I assigned to the first tape drive and 256 is the number of tracks to copy. When it completed we could do a dir d: to see the results.

Now that we have the images in TDOS we can close the emulator and exit back to Windows. Insert a blank Compact Flash card into the adapter. If Windows asks about formatting the drive tell it cancel or no. Now start the HDD Raw Copy Tool. You will be presented with a screen similar to this:

First we need to select the source, so double click on the line that says FILE and use the dialog box to select the image (TDOS4-59.img) we were working on and then click Continue. Now we need to select the Compact Flash we are writing to:

and then click Continue again. We will then see this screen:

at which point we will click Start. You may be prompted about overwriting the CF and such, just follow the prompts till it says it is done.

Now that we are done putting it on the Compact Flash, remove it from the slot and use Sneaker-Net to plug the CF card into the IDE CF adapter on your Adam and then boot it using either the IDE tape or IDE disk. After you are in TDOS, insert a blank tape or disk into either Tape drive 1 or Disk drive 1. Now at the A0> prompt type the following for a tape image:

A0> clone21 d:dragtape i:

When it is done you will have a data pack with Dragon’s Lair on it. To make a disk use:

A0> clone21 d:dragdisk f:

Creating an image from tape or disk

You can use the above method to make images of your tapes or disks, though you will probably want to use the DCOPY method for disks if you have a PC with a 5 1/4″ drive. To use the above just reverse the process so that you start out making TDOS images of the real media onto the CF on the Adam and then Sneaker-Netting the CF to the PC and using the process to make images of the TDOS images using the blank media images supplied.

Downloads:

Getting Software on to a Minimal Adam System Part 2

Understanding the Adam Link Modem and Eve Serial ports

When the Adam was introduced by Coleco there was also available the 300 baud Adam Link Modem. This modem was installed in the second expansion slot and allowed the Adam to access bulletin boards and information services using a regular phone line. The modem only operated at 300 baud when the standard of the day was 1200 baud and soon after 2400 baud.

To fix this issue many serial expansion ports were released by third party manufacturers that could access higher speeds and allowed you to plug in faster modems. These expansion ports are hard to come by now but if you do run across one you may wish to get it. The standard for the time was the Eve serial board and this is the one I have an will be discussing along with the Adam Link Modem. I will not be giving specific code in this article, just pseudo-code. I will show real code in future articles.

Adam Link Modem (aka 8251)

The Adam Link modem is a combination of serial port and modem in one and there are designs online that will allow you to convert it to a serial port if you want. The main chip is an Intel 8251 PCI. This chip technically can handle speeds up to 64K baud but is limited by the crystal in the modem to a maximum of 1200 baud with modifications. Communicating with 8521 and to the modem is accomplished through two ports, the data port 5Eh and the status port 5Fh.

Eve Serial Port (aka 2651)

The Eve serial port is a full function port that allows you to plug a modem or other serial device into and can be used to speeds up to 19.2K baud though in actuality it works best at 9600 baud or less do to a lack of a hardware buffer. The main chip is a National Semiconductor 2651. Communicating with the 2651 PCI is accomplished through four ports, the data port 44h, the status port 45h, the modem port 46h and the control port 37h.

Initializing

To initialize communications we need to output commands and data to either the 8251 ro the 2651 to get it set up. We are going to assume we are using 300 baud with both but you can use faster speeds 2651 later if you want. So to initialize the port we would do the following:

8251:

; Get the 8251’s attention

Send 80h to port 05Fh
Send 80h to port 05Fh
Send 04h to port 05Fh

; Set up the baud, clock rate, number of bits, parity and stop bits

Send 04Fh to port 05Fh

; Set serial lines RXE, TXE and RTS to make sure modem is hung up

Send 25h to 05Fh

2651:

; Set the mode to 8 bits, no parity, 1 stop bit, 16x asynch

Send value 4Eh to port 46h

; Set 300 baud (for other baud rates use: 35h = 300,
; 37h = 1200, 3Ah = 2400, 3Eh = 9600, 3Fh = 19.2)

Send value 35h to port 46h

; Reset the flags RTS, DTR and enable R/T

Send 37h to port 47h

; Clear any incoming characters

Get byte form port 47h
Get byte form port 47h

Send a character:

8251:

; Keep reading status port till high bit is clear

Loop:
Read status port 5Fh
Jump to Loop if bit 7 is not clear
Send character out port 5Eh

2651:

; Keep reading status port till low bit is clear

Loop:
Read status port 45h
Jump to Loop if bit 0 is not clear
Send character out port 44h

Read a character:

8251:

; Get character if there is one

Read status port 5Fh
Return if bit 6 is clear
Read character from port 5Eh

2651:

; Get character if there is one

Read status port 45h
Return if bit 1 is clear
Read character from port 44h

 

Getting Software on to a Minimal Adam System Part 1

Hello everyone. I would like to apologize that it has been awhile since I last posted, life gets in the way. I am going to start posting more often now that things have settled down.

This post starts a series that will look at getting software into a bare minimum Coleco Adam with just a data drive, an Adam Link modem and either, Smart Basic, Smart Logo or CP/M on data tape. The reason I want to do this is to help you understand what you can do with this system without adding new hardware or spending a lot of money on software.

We will look specifically at adding software to the Adam using this bare configuration. I selected this configuration because this is how I started out and I see a lot of systems selling that have this basic settings. I will also explore how to do it without an Adam Link modem using just the joystick ports and a EVE serial port if you happen to have one.

As I post these articles feel free to ask questions and if you have a different minimum setup let me know. The articles will be in the following order over the next few weeks:

  1. Understanding the Adam Link Modem and Eve Serial ports
  2. Using CP/M (or TDOS)
  3. Using Smart Basic
  4. Using Smart Logo
  5. Using the Joystick Port
  6. Transferring Files to the Adam

AViD My Current Project

Prototype AViD
Prototype AViD

I have mentioned on Facebook and on Atari Age that I am working on a way to plug a stock Adam into a PC and have the PC then act like an Adam Disk Drive (or other SmartNet device) with no additional hardware or software being necessary on the Adam. I have given this project a name, AViD (Adam Virtual Device) I am happy to say have reached a milestone in the project.

Some background on the Adam and how it communicates

AViD plugged into the USB -RS232 adapter and extra USB 5V power for keyboard
AViD plugged into the USB -RS232 adapter and extra USB 5V power for keyboard

The disk drives and the keyboard plug into the CPU and use a quasi – serial network called SmartNet. All devices communicate on a single shared transmit and receive wire at 62,500 baud 8 bits, 1 stop bit no parity. I know these details because of a single piece of paper I got in a large Adam collection I purchased The paper was from the electronics reseller Jameco which was included when you purchased a surplus Adam keyboard from them and it gives the specs and a very simple circuit diagram to interfacing with the keyboard. This shared wire and the unusual baud rate makes it very hard to connect it to a PC (or other system) where this baud rate is not supported and this may be why nothing like this has been tried before. Researching the internet I found a USB to RS232 adapter which supports this unusual baud rate. Using this adapter, the simple circuit diagram and some software I have written I have successfully connected an Adam keyboard to a Windows 7 PC and am able to communicate with it.

Houston we have lift-off

"Hello World" from the AViD plugged into the PC
“Hello World” from the AViD plugged into the PC

Now that I can read the keyboard the next step will be to switch the system and have a real Adam ask the PC for keystrokes. These can come from the keyboard or from a text file.

Down the road

Once I am totally confident in the PC “typing” to the Adam on the SmartNet the next step will be to have the PC act as a disk drive, responding to the Adam and sending and receiving data.

The sky’s the limit

Since all communication to the keyboard, disk drives, printer and  possibly digital drives goes through the SmartNet the PC can play many roles. One may be to intercept printer commands and then print to files on the PC.

How can you help?

If any of you happen to have any details on how the Adam communicates to the drives (or vice versa) or source code (EOS or OS7) that show how this is done I would be very happy if you could leave a reply here with that information or where  I can find it. I can always be reached on FaceBook too in the Coleco Adam page.

 

Null Phone Adapters for Sale

IMG_4031I am currently selling adapters that I have built that allow you to connect two computers together via modem’s without the need for any phone service. These are very simple to use:

  1. Plug phone cables into the adapter from the 2 computer’s modems
  2. Plug 9volt battery into adapter

From here you would just use the terminal programs (or BBS programs) you have on the 2 computers to get them to talk to each other.

To purchase one via eBay click here.

IMG_4029If you want a more permanent solution than the 9 volt battery you can replace it with a DC adapter, red is positive (+), black is negative. I have tested it with voltages from 4.5 volts up to 12 volts though I recommend sticking with 9 volt.

If you want to build one yourself you can look at this webpage for the details on how it works (http://www.jagshouse.com/modem.html). Parts wise you will end up spending about the same as I am selling them for.

To purchase one via eBay click here.

 

https://www.youtube.com/watch?v=i7zkYPUPjdU

Direct connect Adam to PC via Adam Link Modem

This is relatively easy to do. This web page (http://www.jagshouse.com/modem.html) describes how to create a simple circuit to simulate a phone line. Once you have this you can plug the Adam Link modem into it and it into a PC. On the PC start HyperTerminal (or other terminal program).

To connect:

  1. On Adam set modem parameters using AdamLink to 8 characters, 1 stop bit, no parity
  2. On PC type ATE1X1 then enter to the modem. This will enable modem commands being echoed to screen and tells modem to ignore lack of dial tone
  3. On PC type ATDT123456789 then enter to dial modem, a long number gives you a few extra seconds to get to the Adam
  4. On Adam select Answer then select Online

Once you have connect the connection will remain if you reset the Adam to load CP/M or SmartBasic

Replacement Adam Keyboard Cable

rj11After a little research I realized that the keyboard cable is not wired like most cables.

Standard six wire phone cable:

1 ------> 1
2 ------> 2
3 ------> 3
4 ------> 4
5 ------> 5
6 ------> 6

Adam keyboard cable:

1 ------> 6
2 ------> 5
3 ------> 4
4 ------> 3
5 ------> 2
6 ------> 1

I had to make a new cable for an Adam that I purchased that didn’t have one and wiring it like this just fine.