Re: Vic-20 inside a single FPGA
- From: zwsdotcom@xxxxxxxxx
- Date: 30 Jun 2006 13:26:23 -0700
MagerValp wrote:
z> I'm writing a book about this sort of topic at the moment, by the
That's interesting. What's the target audience?
The topic, to be exact, is documenting and archiving neat but
semi-forgotten hardware tricks of video game and home computer hardware
of the 1980s. The target market is engineers working with FPGA designs
and looking for low-cost [in a hardware sense] methods of implementing
various audio, video and storage functionality.
Here is an index:
1. Introduction
1-1 Read This First: Who Will Use and Enjoy This Book?
1-2 What is Retrogaming?
1-3 Why Did I Write This Book, and Why Should You Care?
1-4 Brief History of Coin-Operated Gaming Technology
1-5 Brief History of Home Video Game Systems
1-6 (Very) Brief History of Home Computer Gaming
2. Introduction to Modern Retrogaming Platforms
2-1 Commercial "Hardware" Emulators
2-2 Disguised Software Emulators
2-3 Freeware Software Emulators
3. Introduction to the Xilinx ML403
3-1 Kit Contents and Installation
3-2 Hardware and Software Capabilities
3-3 Simple "Hello, world!" application
3-4 Alternative Hardware Platforms to Consider
4. Controls, Sensors and Storage
4-1 Digital Joysticks, Coin-Pulse Inputs and Pushbuttons
4-2 Analog Paddles, Pedals and Joysticks
4-3 Quadrature Encoders - Steering Wheels and Trackballs
4-4 Keyboards
4-5 Miscellaneous Unusual Controllers and Outputs
4-6 Storing Digital Data on Magnetic Tape (as Audio)
4-7 Decoding Audio-Encoded Digital Data
4-8 Simple Floppy Disk Control
4-9 Using Removable Flash Media as Storage
5. Audio Output
5-1 The Simple Beeper
5-2 Waveform Generators - The AY-3-8910 and YM2149
5-3 Programmable Volume Envelopes
5-4 Simple FM Synthesis
5-5 PCM Voice Output
5-6 Wavetable Music Synthesis
6. Video Output
6-1 Early Block Video Graphics
6-2 Character-Based Systems and User Defined Graphics
6-3 All-Points-Addressable, Single-Bitplane Graphics
6-4 APA Graphics with Separate Color Attributes
6-5 Multi-Plane Graphics
6-6 Packed-Pixel Graphics
6-7 Tile-Based Graphics
6-8 Basic Hardware Sprite Implementations
6-9 Hardware Graphics Object Collision Detection
6-10 Exotic Hardware Features - Sprite and Playfield Rotation and
Scaling
6-11 Graphics Coprocessors
7. Where Home Gaming Began: The All-In-One TV Game IC
And here is section 1.1:
Before we embark, a short word of introduction is in order. This book
is about building user interfaces - video output, audio output, and
various sorts of input mechanisms - for deeply embedded systems. The
technical inspiration for much of the material in this volume comes
directly from various interesting design points and tricks of
general-purpose home computers, dedicated home video games, and
commercial arcade video game machines of the 1980s and later. The
semi-formal word for an interest in this sort of hardware is
"retrogaming", and you will find this term defined and discussed in
the next section.
I am aiming this book at two classes of readers: those who will
directly use the information here, and those who will merely enjoy
reading the book for nostalgic purposes but are unlikely to use any of
the material herein for practical applications. There will, of course,
be some intersection between these two sets, and this intersection
forms a third category of reader.
The first category - which I envision as my primary readership -
consists of design engineers who are working on products that now have,
or will soon require, a relatively complex user interface. Not
infrequently, it becomes desirable to add user interface elements to an
existing system with minimal disruption to the current design. For
example, it may be necessary to add video output to an extant system,
but changing to a microcontroller that has on-chip video hardware would
involve enormous upheaval and a large amount of effort essentially
wasted porting code to the new platform. As another example, it may be
necessary in some particular application to implement a multilayer
video output system with collision detection, but the available
microcontroller and memory resources may be limited. Twenty years ago,
techniques were developed and commercialized to deal with these sorts
of problems quite elegantly, using minimal hardware and firmware
resources. Today, the typical response from a semiconductor vendor is
one of technological hubris: the engineer seeking easy solutions is
directed to a more advanced microcontroller or perhaps a custom ASIC.
While such solutions may have advantages (lower power consumption, or
the ability to implement most of the desired functionality in
software), they are not always the best approach for any given project.
This book attempts to resurrect and archive some of the more useful
techniques that have fallen by the wayside.
The second category of readers is comprised of people - again, most
likely engineers of one type or another - who are interested in
tidbits of information about the inner workings of various. There is a
wealth of interesting engineering in these older systems; design
approaches to many feature requirements were significantly different a
decade or two ago. If you fall into this category, you may never
actually compile the examples provided here. However I expect you will
increase your breadth of understanding of the fields covered in this
volume. Hopefully, you will come to use, in your own designs, snippets
of the ideas presented here.
Somewhere in between these two sets of readers, we have an unusual
breed: people who have a practical application for retrogaming qua
retrogaming, and will find this material directly useful for such
purposes. If you are currently building a hardware emulator for some
ancient revered gaming or computing platform, you fall into this third
category. Please note that you will not find any drop-in emulator
components in this book. For example, you can't just expect to turn to
a chapter on vintage home computers and find there a complete Commodore
6560 Video Interface Chip. The rationale for this decision is described
in Section 1.3.
This will be my fourth book; you can see links to the others on the
left-hand side of <http://www.commodoretalk.com/>
.
- References:
- Vic-20 inside a single FPGA
- From: David Murray
- Re: Vic-20 inside a single FPGA
- From: zwsdotcom
- Re: Vic-20 inside a single FPGA
- From: MagerValp
- Vic-20 inside a single FPGA
- Prev by Date: Re: 8-Bit Designs New Product ready for distribution!
- Next by Date: NTSC/PAL's days are numbered.
- Previous by thread: Re: Vic-20 inside a single FPGA
- Next by thread: Re: Vic-20 inside a single FPGA
- Index(es):