Atari and Amiga
Total Page:16
File Type:pdf, Size:1020Kb
IEEE Consumer Electronics Society Three generations of animation machines: Atari and Amiga Joe Decuir, IEEE Fellow UW Engineering faculty IEEE Consumer Electronics Society Agenda Why are you here? How I got here: design three retro machines – Atari Video Computer System (2600) – Atari Personal Computer System (400/800) – Amiga computer (1000, etc) New hardware: – Atari 2600 in FPGA: Flashback 2.0, etc – Atari PCS: Eclaire 3.0, XEL 1088 – Amiga 500 MIST 2 IEEE Consumer Electronics Society Why are you here? Many of you are fans of vintage computers: – Find and restore old machines – Run productivity applications – Play games Some people also write new applications – E.g. PlatoTerm on several retro computers More people write and play new games 3 How I got here IEEE Consumer Electronics Society My work is here: 5 IEEE Consumer Electronics Society First Video Games Ralph Baer was a pioneer, recognizing that it was possible to bring entertainment home. He imagined a machine which allowed electronic gaming on a “Brown Box” in a family home. Ralph was unlucky – he worked in defense Ralph Baer His employee licensed his in his basement design to Magnavox – as lab, 2014 the Odyssey, 1972 6 IEEE Consumer Electronics Society Atari Video Computer concepts Atari was founded on arcade video games First big hit: Pong (derived from Odessy) Second hits: more complex arcade games – E.g. Tank, Breakout Third hit: Pong for home use Big question: what to do next? Choices: – Random logic games – Microprocessor-based games 7 IEEE Consumer Electronics Society Pong arcade screen 8 IEEE Consumer Electronics Society TANK cabinet art 9 IEEE Consumer Electronics Society I got lucky: Atari Video Computer I was hired to finish debugging the first concept prototype of the Atari Video Computer System. – Most of you know it as the Atari 2600. I made several contributions to it. – We used to joke about paying to work on it. 10 IEEE Consumer Electronics Society Program flow Horizontal Line – 228 color clocks Horizontal Blank – 68 cc Horizontal Display – 160 color clocks Vertical Blank processing: Vertical - Process user inputs Blank & Sync: - Detect and process collisions 54 lines - Compute new game state, including score Lines Vertical Display: 262 208 lines kernel processing: - compute game Frame graphics pointers, - load TIA registers Vertical - [option: poll potentiometer inputs] 11 IEEE Consumer Electronics Society Atari VCS system diagram 12 IEEE Consumer Electronics Society 13 IEEE Consumer Electronics Society Lessons learned We put the definition of the display in the hands of the game designers, who were smarter than we hardware designers expected. Our conclusion was that our second system should not simply be a bit map and a processor. We had created a platform for the art of others, and we planned to build on that for the next system. We thought we needed to move fast. The Atari PCS came out two years later, in 1979. 14 IEEE Consumer Electronics Society Luckier: I got to do it again Continue advancing technology. We had a hard decision: is the next machine a better game console (Atari 400), a personal computer (Atari 800), or both? 15 IEEE Consumer Electronics Society For a better game player Support memory-mapped video display – We could afford at least 4-8K of DRAM Use that memory in various ways: – 4-color bit maps up to 160x192 pixels – Monochrome up to 320x192 pixels – Color and monochrome character modes More sprite engines, easy to reuse vertically Provisions for vertical and horizontal scrolling Add simple video co-processor (display list processor) which can change modes 16 IEEE Consumer Electronics Society Star Raiders: best original game 17 IEEE Consumer Electronics Society For a personal computer Provide character display – TVs limited us to 40 characters/line Provide a keyboard Provide for peripheral expansion for: – Printers – Communications We wanted slots (like the Apple II and S-100 machines) but FCC rules would prevent that Necessity: design a serial bus (SIO) – Direct ancestor to USB 18 IEEE Consumer Electronics Society Atari 800 computer w/peripherals 19 IEEE Consumer Electronics Society Complete Atari system diagram: 800 CPU, 810 FDD, 850 I/O ports Parallel Printer TV or Centronix- Atari 850 Port Monitor Compatible I/O Ports w/speakers Printer Serial Port video audio Phone cable Atari PCS SIO Atari 810 300/1200 bps CPU FDD Modem To PSTN 20 IEEE Consumer Electronics Society 21 IEEE Consumer Electronics Society Lessons learned, and not learned As a game console: – We provided good self-development tools to attract developers – The founders of Activision and Imagic had not left yet, so Atari was not afraid of third-party developers – that happened later As a computer: – Massive cost reduction possible after FCC changed the rules, e.g. 800XL – The Commodore C64 passed Atari at this point – Atari should build a unit with integrated FDD – Atari could build an expansion unit with hardware slots 22 IEEE Consumer Electronics Society Atari 800XL, cost reduction 23 IEEE Consumer Electronics Society Last day at Atari: Proposal for a ‘stops out next generation machine 24 IEEE Consumer Electronics Society Luckier: we build a 3rd system We reunited for a third system: Amiga It was a groundbreaking animation machine. 25 IEEE Consumer Electronics Society Concepts for a third system As a game console: – Cartoon-level animation – Accelerate bit map manipulation in hardware – Synchronize with external video (genlock) As a computer: – 80 column character displays – Enough bit mapped memory for a Xerox Alto- like ‘window’ OS – Larger memory: 128KB or more – Built in 3.5” FDD; Expansion to HDD 26 IEEE Consumer Electronics Society Simplified Amiga Core system diagram Bus control Genlock 68000 AGNUS Signals 8 16 Sync & timing 24 18 Video Sync DAPHNE RGB Video Ram or Addr DENISE 12 Mux Ports 18 Chip DRAM: Chip Audio 256K Register x 16 addr PORTIA Serial 16 bit or Data bus Disk PAULA Ports 27 IEEE Consumer Electronics Society Line Draw & Area Fill 28 IEEE Consumer Electronics Society Illustrate Bit-blitter Splicing a Sprite 29 IEEE Consumer Electronics Society Lessons learned The collapse of the video game market in 1984 caused a pivot to a computer The 1985 Amiga was better than the Super NES in 1992, but it cost a lot more to make in 1985. Amiga OS was the first multimedia multitasking OS, 10 years before Windows 95 or MacOS Commodore was unable to exploit this market niche, which was too small vs IBM and Mac 30 Retro Machine Futures Software emulation Retro game development New hardware development IEEE Consumer Electronics Society Software emulation of hardware Atari 2600 emulators: – https://stella-emu.github.io/ – https://sourceforge.net/projects/stella/ – http://8bitworkshop.com/ (write new games) Atari 800 “8bit” emulators – https://atari800.github.io/ – https://sourceforge.net/projects/atari800/ Amiga computer emulators – http://www.winuae.net/ 32 IEEE Consumer Electronics Society Modern Atari game development There is a development community devoted to generating new 2600 games. Visit http://www.atariage.com/ Example of modern video game design: Halo 2600 – Developed by Ed Fries, who lead original HALO game design at Microsoft – Vastly simplified graphics, but playable 33 IEEE Consumer Electronics Society Modern Atari hardware: Flashback 34 IEEE Consumer Electronics Society The Flashback series Flashback 2.0 was developed by Curt Vendel – It is based on a Xilinx FPGA Later Flashback versions are based on emulation on a ARM processor 35 IEEE Consumer Electronics Society Modern Atari computer hardware Two directions: FPGA and original chips Eclaire 3.0 – Mark Watson and Panos Santos, have prototyped and shipped a small number of FPGA-based Atari 800 XL implementations Atariage XEL 1088 – Alternative Motherboard project http://atariage.com/forums/topic/272817-1088xel-atari- itx-motherboard-diy-builders-thread/ 36 IEEE Consumer Electronics Society Eclaire XL main PCB Differences: - VGA video output - SD card mass storage - USB for keyboard - Lots of RAM 37 IEEE Consumer Electronics Society Eclaire XL IO board 38 IEEE Consumer Electronics Society Eclaire XL FPGA resources Mark Watson has been posting design files on http://www.64kib.com/redmine Photos: http://atariage.com/forums/topic/263044- developerstesting-required-for-mini-itx-clone- system-eclairexl/ Nir Dary’s demonstration video: https://www.youtube.com/watch?v=ordWyp8 HZZ8&t=626s 39 IEEE Consumer Electronics Society XEL 1088 - original silicon - dual POKEY audio - IBM IO for mouse & kbd - video: RGM & composite 40 IEEE Consumer Electronics Society European Amiga redesign A Polish designer Przemyslaw Krawczyk (Lotharek”) has done a lot of interesting design work: http://www.lotharek.pl/ The MIST board uses modern hardware to implement classic 16 Bits computers like Amiga, Atari, and 8 Bits systems like C64, ZX-Spectrum, MSX, Atari XL/VCS, Apple II, Colecovision, Sega, NES, etc. The MIST is a re-implementation of the original hardware in a FPGA. 41 IEEE Consumer Electronics Society Amiga 500 vs Amiga 500 MIST Lots of RAM Replace FD (floppy drive) or HD (hard drive) mass storage with SD slot Video out on VGA Keyboard input via USB – 4 USB ports on the back of the device 42 IEEE Consumer Electronics Society Amiga 500 MIST device The front panel has: Reverse side: - 3 buttons - Power - 3 LEDs - VGA + audio - SD memory slot - 4 USB host 43 IEEE Consumer Electronics Society Amiga 500 MIST PCB 44 IEEE Consumer Electronics Society Amiga 500 MIST FPGA resources YouTube demonstration: https://www.youtube.com/watch?v=9GrmaXeOTEA