The following text came included in a .zip file in March 2003 from Keith Watson. In the email Keith says, "Included in the zip file is a text file I wrote back in 1999. It has information on how the FD-68 works. There are some grammer errors and typos but I think you can get the meaning ... "
The following text is edited very slightly from the original to enhance grammar and to add emphasis to companies, and to products mentioned that were from other suppliers. Jack Boatwright
AERCO, which stands for ACME ELECTRIC ROBOT COMPANY, is still in operation today (1999) and is located in Texas. Unfortunately, AERCO no longer makes any products for Timex computers. AERCO designed a disk drive system for the Timex 1000/Sinclair ZX81 line of computers, a printer interface and a dual serial port interface.
They also developed the AERCO FD-68 for the Timex Sinclair 2068. I have very little information about the first release of the AERCO operating system. By the time I purchased an FD-68, AERCO offered the disk drive systems with 64k of DOCK bank memory as the standard configuration and optionally offered 256k of DOCK bank memory. The 256k memory was actually one bank of 64k memory with three 64k shadow banks. Only one could be paged in for CPU control at a time. In actual use, only certain 8k chunks of memory could be accessed through the BASIC language. However, all of the memory was available if carefully managed through machine code.
AERCO offered two versions of the 256k disk drive interface. One version offered the use of four floppy drives and the four shadow DOCK banks (the standard 64k version could also access four floppy drives). AERCO offered another 256k version that could use just two floppy drives. Fewer components were needed on the interface board with the penalty of a reduced number of floppy drives available. Another problem with this arrangement was that different ports, between the two 256k systems, were required to access the extra three shadow ram banks.
The three extra banks of shadow RAM were seldom used in my own system, after I had used it for several months. It was just easier to use the default 64k bank. But I did use that 64k DOCK memory a lot. The AERCO system allowed the use of AROS programs, in RAM, with AERCO ROM (actually an EPROM) versions 8.8 and up. I was constantly writing and saving AROS programs to the AERCO system or tinkering with the AERCO ROM. By the way, the AERCO ROM is an LROS ROM.
When detected at power up, the AERCO LROS ROM is paged into memory in the first 8k of the DOCK bank. The machine code within the AERCO ROM would direct the 8k AERCO ROM to be copied from ROM address 0 through 8191 over to DOCK RAM address 8192 through 16383. Next, the LROS program execution would jump to the second DOCK bank chunk where the program, now operating from RAM, would page the AERCO ROM out of memory. The program would then copy the first 8k of HOME bank ROM to the first chunk of DOCK bank RAM and then make some changes to this first 8k of DOCK memory. These changes were necessary for the system to capture the "J ERROR" or "Invalid I/O Device" report. This is how the AERCO driver software, now located in the second DOCK bank chunk, is paged into memory. Once these changes are completed, the first 8k of DOCK bank memory and the second through eighth chunk of HOME bank memory are enabled. All other DOCK bank chunks are disabled until paged into memory by machine code or a BASIC language OUT 244,n command. The number 'n' is equal to the sum of (2 raised to the power of the DOCK bank number) for each DOCK bank chunk to be enabled. Chunk numbers are 0 - 7. The actual AERCO ROM is not needed any more except when certain machine code routines are overwritten by the track buffer. When these routines are needed, the AERCO ROM is auto paged back into memory and the required routines are restored. To enable chunk 0 and chunk 4 through 6 in the DOCK bank, the command would be OUT 244,113. The math would be: 2^0 + 2^4 + 2^5 + 2^6 = 113.
One of the great features about the AERCO system was the fact that the user could load modified versions of the AERCO operating system into the computer and lock out the AERCO ROM from auto paging into memory. In fact, this was done by HDOS. HDOS was a pretty nifty modification of the AERCO operating system developed by David Hill. For those of you that are familiar with the normal AERCO operating system, there were several things that you couldn't do. HDOS allowed us to easily rename a file, copy a binary file from one drive to another without knowing the file size and even to date stamp a file. There were several other improvements to the AERCO operating system as well.
Another big feature for me was the ability to run CP/M 2.2 software. AERCO licensed the RP/M operating system, a CP/M 2.2 look a like, for use with the TS2068 AERCO interface. It did give us 80 columns on the screen. It was, however, a far better system when used with AERCO's dual serial port interface board and a terminal. You could turn off the normal Timex screen output and keyboard input and get the same quick response of other CP/M systems. The RP/M system expected the AERCO A and B drives to be 40 tracks (400k). Drives C and D were expected to be 80 tracks (800k). Another plus in the AERCO RP/M system was the ability to load CP/M programs from Marrow MD3 formatted diskettes. The AERCO formatted diskettes were not the same as the Marrow MD3 diskettes. AERCO instead, gave you the option to load Marrow MD3 files from drives E and F, which were really drives A and B. This made it a little easier to get commercial software into your system or to trade programs with others.
The only big disadvantage with the AERCO system was the inability to use it in SPECTRUM mode. The AERCO code was written to make use of the Timex RAM RESIDENT CODE, which does not exist in the SPECTRUM. My own re-write of the AERCO code does not use the RAM RESIDENT CODE. By not using the RAM RESIDENT CODE I was able to make it compatible with both the Timex and Spectrum modes as long as you do not use the Spectrum emulator cartridge. The Spectrum cartridge, available in the USA at that time from Zebra Systems, also uses the DOCK bank. A ROM switch, such as the Russell Electronics "Romswitch" or the one available from Jack Dohany, worked perfectly for my system. By the way, Jack's ROM was a 32k ROM with both the Spectrum code and the Timex code, plus the pull up resisters needed for some Spectrum programs to work correctly. One very nice feature about his ROM was the fact that the infamous Timex DELETE bug had been completely fixed. I can't imagine anyone with a lot of experience with the Timex 2068 not knowing about that frustrating bug.
Another problem is that Zebra System's "OS-64" cartridge cannot be used at the same time as the AERCO ROM. They both want control of the first 16k of DOCK bank memory. The only solution is to transfer the "OS-64" ROM code to a diskette and load a modified version of it into DOCK BANK RAM. The number of modifications are significant but "OS-64" can be made to share the 16k RAM area with modified AERCO interface software.
AERCO did make available some Spectrum LROS and "OS-64" LROS programs to work on their version 9.0 ROM. The problem with these versions was that chunk 6 of the HOME bank memory was reserved for the AERCO interface driver software. Many programs could not be run because they required the same memory area reserved for the interface driver. The Spectrum version also could not save binary files nor save auto-starting BASIC programs. I don't think these two LROS type programs were widely used by AERCO users.
I continue to use the AERCO FD-68 interface because of its flexibility. It does have some limitations compared to other systems. But, because AERCO made the source code available for their system, we are able to make all the changes we want to the code and hopefully make it work better. Thanks to Larry Kenny of Larken Electronics, we also can use the AERCO FD-68 interface as a Larken disk system. He produced a Larken cartridge board that plugs into the 'game' port. With only a small modification to the AERCO interface, it can then be used as a Larken interface. I believe Larry Kenny produced cartridge versions for the Oliger, Millenial K and the AERCO systems, as well as his own Larken system.
Recently, I called AERCO and was told that they may have a FEW blank AERCO FD-68 interface boards left in storage. I know that they were available at one time for $50. If AERCO has any left, they will surely not have any documentation for them. Hopefully, locations such as this one will be able to collect the required information and make it available for someone to assemble their own AERCO FD-68.
I hope this information is useful to someone.