Having done well in the calculator and Pong system markets, APF needed a system to compete with the Atari VCS (2600). Like Bally and Mattel (Intellivision) they thought that a system that expanded into a full computer would be a sure winner.
Thus the APF MP 1000 was born, and a year later the MPA-10 Imagination Machine computer expansion. Later commonly referred to as the IM-1
Released in 1979, The Imagination Machine qualifies as the First Hybrid game system-computer to make it to the North American market.
The IM-2 was thought to have never been released, but new information from Ed Smith tells us it went into production before APF was taken over by the Banks.
This particular machine came from an estate sale of one of the principals of APF.
This tells us that the machines were ready for manufacture when APF went under.
The machine its self looks to be a slightly modified IM-1. With a new game board under a cover where the game system would sit in the original. The buttons, connectors and outputs of the game system were all moved to the front or rear of the Keyboard case.
A couple nice side effects are:
IM-2 pictures on Images Page.
For a history of APF and the man who designed this system, see the article Ed Smith And The Imagination Machine at FastCompany.com
|CPU||Motorola 6800 @ .9MHz|
|Video chip||Motorola MC-6847 Video Display Generator|
|Text Modes||32x16 with 2x2 'semi graphics' in 9 colours (8 +Black)|
|Graphic Modes||256x192 in 4 colours 128x192 in 8 colours *|
|Sound||One voice 5 octaves|
|Controls||two non removable 4 direction joysticks with 12 key keypad and 1 fire button.|
|Rom||Built in game Rocket Patrol. 2K|
|Ram||8k expandable to 24k*|
|Rom||12K BASIC cart.|
|Keyboard||53 Key full stroke with 'Repeat', 'Line Feed' and 'Here Is'|
|Media||1500 baud tape and up to two 5.25 floppy drives 68K each.|
|Optional||Serial port 300-9600baud|
With the Keyboard attached the 1k in the MP 1000 effectively becomes video ram.
The Basic manual only tells you how to get to the Colour graphics mode and use the SemiGraphics. The High res graphics mode seen in the built in game and using artifacting in the demo to look like a Black, White, Red and Blue(Green on some units) mode, is left to the user to figure out. The BASIC cart also has a Ram Monitor program which allows you to embed machine language into the basic, and save it as one chunk.Demo.mpeg 77.8MB
Or view the HTML5/You-Tube version
APF uses the same Motorola MC-6847 VDG as the TRS-80 COCO, Dragon computer, and NEC TREK. But does so in a different way.
Like the NEC Trek, the APF doesn't use the SAM memory manager to drive the VDG. It uses it's own memory management system.
On the COCO, or any normal system a 256x192 graphic mode would need 6K of ram. (256/8 = 32bytes per line * 192 lines = 6144Bytes or 6K). However, the MP 1000 (The Brain and Only video ram for the IM-1) has only 1K of RAM available.
What APF does, is use the first half of that RAM (0-511) as a 32x12 character table. Much like the text mode. It then uses the other half (512-1023) as a character description table of 32, 8x16 highres or 4x16 colour characters.
This introduces some limitations, like not being able to display a full screen bitmaped image, but also makes it much simpler to manage game graphics.
Due to this set-up, APF Basic games use the High res. and Colour graphics quite easily.
Ram is usually added through the addition of a 'Building Block' expander plus an 8K cart. Giving a total of 16K (plus 1K in the MP 1000)
However, Our keyboard has a 3rd party internal expansion of 8K. Thus adding/enabling the 8K expansion cart gives us 24K
Unlike the Ram cart, the internal expansion doesn't have an On/Off switch. We have to POKE 41446,191 to return our keyboard to 8K
The BASIC programming language is provided through a cartridge.
Unfortunately, it had some short comings. Like needing to CALL a routine in the Game system to clear the screen, and a rather nasty habit of spectacularly crashing the system if you forget an ending bracket.
There is a 3rd party Expanded basic. It adds the commands:
More on the BASICs in the Programming section.