Black Art of Video Game Console Design, The - Andre LaMothe

Black Art of Video Game Console Design, The

(Autor)

Buch | Softcover
984 Seiten
2005
Sams Publishing (Verlag)
978-0-672-32820-6 (ISBN)
77,95 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
Written for the programmer and/or hobbyist interested in software game development, to understand the hardware games are implemented on, this book takes you on a journey from atomic semiconductor theory to the design and construction of basic video game consoles. It teaches you how to design your own game console including.
In the slick, well-marketed world of Nintendo and Play Station, Andre Lamothe's Xtreme Gaming Station sticks out like a sore thumb. The XGS is a completely independent platform that lets users play N64-quality games but also offers users access to the inside information they need to write their own games. Further flouting the big game companies, Lamothe has opened the clean-room doors and offered would-be hardware designers something never before possible--the chance to build their own programmable video game consoles. The information in Black Art of Video Game Console Design is simply not available anywhere else. This book build on the three years of time and $500,000 in development expense Lamothe and Xtreme Games put into the XGS. The book-and the XGS-is truly a labor of love, and the extensive detail, hand-drawn diagrams, and running commentary from Lamothe let his personality shine through the exhaustive technical detail. In this book, readers will learn everything from the proper way to wire a bread board to microcontroller programming routines. This is a truly unique product aimed at the current generation of hardware hackers, extreme gamers, and technology gearheads who want to take a walk on the wild side.

Andre LaMothe is the best-selling author of Tricks of the Windows Game Programming Gurus and has been involved in the computing industry and technology for more than a quarter century. He holds degrees in mathematics, computer science, and electrical engineering, and is one of the rare individuals that actually did work at NASA at the age of 20 doing research. His early teens and twenties were filled with consulting for numerous Silicon Valley companies, where he worked in fields such as virtual reality, robotics, compiler design, 3D engines, artificial intelligence.

The Black Art of Video Game Console DesignTable of Contents

Introduction



CHAPTER 1: Introduction to Electronics, Electrons, and Light Speed 1


1.1 Introduction to Digital and Analog Electronics 1

1.1.1 Analog Electronics 1
1.1.2 Digital Electronics 3


1.2 Units of Measure and Their Origins 4

1.2.1 SI System Prefixes 5


1.3 Atomic Theory: Electrons and Holes 7

1.3.1 The Bohr Model and The Periodic Table 7
1.3.2 Ions and Isotopes 10
1.3.3 Conductors, Insulators, and Valence 11


1.4 Current and Voltage 13

1.4.1 Current Defined 13
1.4.2 Voltage Uncovered 16
1.4.3 Generating Voltage 17


1.5 Alternating and Direct Current 24

1.5.1 Direct Current/Voltage 24
1.5.2 Alternating Current/Voltage 26


1.6 Ohm's Law and Power 27

1.6.1 Understanding Power 29


1.7 Introduction to Discrete Components 32

1.7.1 Resistors 32
1.7.2 Capacitors 36
1.7.3 Inductors 40
1.7.4 Transformers 41
1.7.5 Semiconductor Devices and the P-N Junction 43


1.8 Using Basic Electronics Equipment 53

1.8.1 Test Equipment 53
1.8.2 Building Materials 61


Summary 68
Important Terms 68
Self-Test 69



CHAPTER 2: Basic Analog Circuit Analysis 71


2.1 What Is Circuit Analysis? 71

2.1.1 Ohm's Law Revisited 72
2.1.2 Power Calculations 75


2.2 Kirchhoff's Laws 76

2.2.1 Kirchhoff's Current Law 76
2.2.2 Kirchhoff's Voltage Law 77
2.2.3 Series and Parallel Resistor Circuits 80


2.3 Voltage Dividers 85

2.3.1 Voltage Dividers and Loading 87


2.4 Practical Examples 91

2.4.1 Lighting an LED 91
2.4.2 Limiting Current to a Port 95
2.4.3 Creating a Simple Voltage Regulator 96


2.5 Comments on Nodal and Mesh Analysis 100
2.6 Circuit Simulation with SPICE 101

2.6.1 The SPICE Language 101


Summary 117
Important Terms 117



CHAPTER 3: Analog Design with Discrete Components 119


3.1 Basic Mechanical Components 119

3.1.1 Switches 119
3.1.2 Potentiometers 128


3.2 Capacitor Circuits 131

3.2.1 Capacitor Models 133
3.2.2 Capacitors in Series and Parallel 135
3.2.3 RC Circuits 136
3.2.4 Low Pass Filters 140
3.2.5 High pass Filters 144
3.2.6 POR—Power On Reset Circuits 144
3.2.7 Bypass and Power Feed Capacitors 148


3.3 Inductor Circuits 150

3.3.1 Inductors Model 150
3.3.2 Inductors in Series and Parallel 151
3.3.3 The Step Response of an Inductor 151
3.3.4 RLC Circuits 152


3.4 Diodes 154

3.4.1 Rectifiers 155


3.5 Voltage Regulation Applications 158

3.5.1 Zener Diodes 160


3.6 Transformers 161

3.6.1 The Step Up/Down Action 161


3.7 Power Supplies 162

3.7.1 Voltage Regulators 163


3.8 Example Power Supply Designs 166

3.8.1 5V with the LM/UA7805 166
3.8.2 12V with the LM/UA7812 169
3.8.3 3.3V with the TI TPS76933DBVT 170
3.8.4 Multiple Voltage Systems 173


3.9 Transistor Basics 174

3.9.1 Transistor Properties and Rules 175
3.9.1 Transistor Switching 177
3.9.2 Emitter Followers and Impedance Reflection 178
3.9.3 Amplification 180


3.10 Framework for TTL/CMOS Logic 182

3.10.1 Creating a Convention 183


3.11 Clock Generators 189

3.11.1 The 555 Timer 192


Summary 194



CHAPTER 4: Entering the Digital Realm 195


4.1 Logic Symbols and Truth Tables 195

4.1.1 Logic Conventions 195


4.2 Boolean Algebra 197

4.2.1 Basic Laws 198
4.2.2 DeMorgan's Theorem(s) and Bubble Pushing 201


4.3 Switching Standards and Logic Families 205

4.3.1 TTL Families 206
4.3.2 CMOS Families 206
4.3.3 Reading Datasheets 207


4.4 Loading Concepts 211

4.4.1 TTL Loading 211
4.4.2 CMOS Loading 214


4.5 Tri-state Logic 215
4.6 Timing Diagrams 217

4.6.1 Timing Diagram Conventions 217
4.6.2 General Rules of Decoding Timing Diagrams 222


4.7 Some Real World IC DIP Packages 223

4.7.1 DIP Package Mechanicals 223
4.7.2 Example DIP Implementations of Logic Functions 225


4.8 Implementing Boolean Functions with Chips 231

4.8.1 Binary Math Review 232
4.8.2 Half Adder 238
4.8.3 Full Adder 241


4.9 Mixing Logic Families 244

4.9.1 CMOS Driving TTL 245
4.9.2 TTL Driving CMOS 246


Summary 247



CHAPTER 5: Hardware Construction Techniques 249


5.1 General Introduction to Real Circuits, Noise, and EMI 249

5.1.1 Current Loops and Grounding Concepts 249
5.1.2 Capacitive Coupling 253
5.1.3 Crosstalk 254


5.2 Construction Techniques 255

5.2.1 Breadboards 256
5.2.2 Experimenter Boards 256
5.2.3 Perfboards 258
5.2.4 Vector Boards 260
5.2.5 Specialty Cards 261
5.2.6 ISA 261
5.2.7 PCI 262


5.3 Soldering 262

5.3.1 Soldering Irons 263


5.4 Wire Wrapping 271

5.4.1 Wire Wrapping Steps 279


5.5 Printed Circuit Boards 279

5.5.1 PCB Objects 281
5.5.2 PCB Design Tools 290
5.5.3 Steps in a PCB Design 294
5.5.4 PCB Layout Considerations and Techniques 302
5.5.5 High Speed Design 303
5.5.6 Manufacturing 304


Summary 307



CHAPTER 6: Combinational Logic and SSI/MSI Blocks 309


6.1 The Glue of Circuits 309
6.2 Logic Simplification 310

6.2.1 DeMorgan's Theorem Revisited 311
6.2.2 Bubble Pushing 311
6.2.2 Formalizing Functions 314
6.2.3 Karnaugh Maps and Minimization 317


6.3 SSI/MSI Blocks 326

6.3.1 Decoders 327
6.3.2 Multiplexers 335
6.3.3 Shift Registers 338
6.3.4 Buffers 343


Summary 353



CHAPTER 7: Changing Your Mind with Flip Flops, State Machines, and Sequential Logic 355


7.1 Low Level Flip Flop Implementation 355

7.1.1 Real World Flip Flops 358
7.1.2 Flip Flop Hardware Implementations 360


7.2 Counters 362

7.2.1 Discrete Implementation of 2-Bit Binary Up-Counter 364
7.2.2 Counter Packages 367


7.3 Sequential Logic Design Concepts 370

7.3.1 State Machine Design 371
7.3.2 State Diagrams and State Tables 373
7.3.3 Sequential Circuit Design Algorithm 377


Summary 380



CHAPTER 8: Computer Architecture Fundamentals: Microprocessors, Microcontrollers, Microprogramming, and Marble Madness 381


8.1 Introduction to Computers and Embedded Systems 381
8.2 Microprocessors and Microcontrollers 383

8.2.1 Microprocessors 383
8.2.2 Microcontrollers 394
8.2.3 Digital Signal Processors 398
8.2.4 RISC vs. CISC 398


8.3 Assembly Language and Machine Code 399
8.4 Processor Architecture 402

8.4.1 Von Neumann vs. Harvard Architecture 402
8.4.2 Instruction Execution 404


8.5 Register Transfer Logic and Datapaths 405

8.5.1 Register Transfer Logic Syntax 406


8.6 Microprogramming and Microcode 409

8.6.1 Arithmetic Microoperations 411
8.6.2 Logic Microoperations 412
8.6.3 Shift Microoperations 414
8.6.4 Memory Microoperations 415
8.6.5 Microprocessor Design with RTL Review 416


8.7 External Architecture 416

8.7.1 Data Bus 417
8.7.2 Address Bus 418
8.7.3 Control Bus 420


8.8 Internal Architecture 421

8.8.1 Standard One Bus Architecture 422
8.8.2 Two and Three Bus Architectures 427
8.8.2 Control Unit and Micro Sequencer 429


8.9 Advanced Architecture Concepts 431

8.9.1 Pipelining 431
8.9.2 Caches 434
8.9.3 Multiple Execution Cores 436


8.10 Processor Addressing Modes 436

8.10.1 Implied Addressing 437
8.10.2 Register Addressing 437
8.10.3 Immediate Addressing 437
8.10.4 Direct / Absolute Addressing 437
8.10.5 Indexed Addressing 438
8.10.6 Relative Addressing 438


8.11 Interrupts 439

8.11.1 Hardware Interrupt Details 439
8.11.2 Software Interrupts, Traps, and Operating Systems 441


8.12 Processor Electrical Considerations 443

8.12.1 Drive 443
8.12.2 Clocking 444
8.12.4 Power 445


8.13 Computer System Architecture 449

8.13.1 The Processing Unit 451


8.14 Embedded System Computer Organization 456

8.14.1 Restart Vectors and Addressing 460
8.14.2 Design Steps 461
8.14.3 Memory Architecture and Addressing 463
8.14.4 Memory Organization 475
8.14.5 Decoding Schemes 477
8.14.6 Accessing Memory 490
8.14.7 Memory Timing Diagrams 493
8.14.8 Bus Buffering and Exporting 495


8.15 Adding I/O Devices and Peripherals 497

8.15.1 Memory Mapped I/O Interfacing 498
8.15.2 Programmed I/O Interfacing 500
8.15.3 Peripherals 502
8.15.4 DMA 503


8.16 Software and Firmware 504

8.16.1 Startup Software 504


Summary 510



CHAPTER 9: Designing Microprocessor & Microcontroller Based Game Systems 511


9.1 Minimal Computer Design Goals 511
9.2 Example Embedded Computer Systems 514
9.3 Building an SX28 Based System 514

9.3.1 SX28 Internal Organization and Software Model 515
9.3.2 SX28 Functional Description and Register Map 521
9.3.3 SX28 Chip Pinout 531
9.3.4 Minimal SX28 Embedded System Design 533
9.3.5 Introduction to Programming the SX28 538
9.3.6 Booting the SX28 544


9.4 Building a 6502 Based System 546

9.4.1 6502 Internal Organization and Software Model 547
9.4.2 Features 547
9.4.3 Functional Description and Register Map 548
9.4.4 Minimal 6502 Embedded System Design 555
9.4.5 Introduction to Programming the 6502 562
9.4.6 Booting the 6502 565
9.4.6 6502 XGS Prototype 571


9.5 Building a 6809 Based System 573

9.5.1 6809 Internal Organization and Software Model 574
9.5.2 The 6809 Feature Set 575
9.5.3 Functional Description and Register Map 576
9.5.4 Minimal 6809 Embedded System Design 582
9.5.5 Introduction to Programming the 6809 586
9.5.6 6809 XGS Prototype 596


9.6 Z80 XGS Prototype 597
9.7 Adding Features to Complete a Game Console 598
9.8 Interfacing Fundamentals 598

9.8.1 Bus Buffering 599


9.9 Graphics 600

9.9.1 Display Technologies 600
9.9.2 Raster Display Basics 601
9.9.3 NTSC/PAL Basics 604
9.9.4 Adding Color 611
9.9.5 Mathematical Analysis of Color 613
9.9.6 RGB/VGA Basics 617
9.9.7 Vector Graphics Basics 626
9.9.8 Software/Microcontroller Based Graphics 629
9.9.9 VLSI Hardware Based Graphics 631


9.10 Sound 639

9.10.1 Digital Sound 639
9.10.2 FM Synthesis 642
9.10.3 Hardware Implementations 643
9.10.4 Sound Chips 646


9.11 Game Controller Input Design 652

9.11.1 Digital Input Switches 652
9.11.2 Interfacing Atari 2600/C64/Amiga Joysticks 655
9.11.3 SEGA Genesis Gamepads 656
9.11.4 Nintendo Entertainment System Gamepads 659
9.11.6 Super NES Controller Interfacing 662


9.12 Communications 663

9.12.1 3/2/1 Wire Serial Communications Schemes 664


9.13 Game Cartridges 672

9.13.1 Game Cartridge Contains Everything 672
9.13.2 ROM Download to RAM 673
9.13.3 System Contains Startup Code and API/OS ROM 674
9.13.4 Switching out the ROM 675
9.13.5 Bank Switching Schemes and Added Features Via Cartridge 675


Summary 676



CHAPTER 10: Developing Software for Embedded Game Console Systems and the XGS 679


10.1 Overview 679
10.2 Why Program in Assembly Language First? 680

10.2.1 Selecting an Assembler 681
10.2.2 Getting Your Code on the ROM 681
10.2.3 Augmented Assembly Language with Macro Assemblers 682


10.3 Using High Level Languages 683

10.3.1 Hardware Considerations 683
10.3.2 Performance Considerations 685
10.3.3 Compilation, Interpretation, and V-Machines 686


10.4 Developing Languages on the XGS ME 687
10.5 Using and Developing Development Tools 688

10.5.1 Developing a Tool Chain 689
10.5.2 The Assembler 689
10.5.3 Leveraging GUI Technology 690
10.5.4 Writing Utilities 690
10.5.5 Creating Libraries and APIs 691


10.6 Constrained Memory Programming Techniques 691

10.6.1 Bank Switching 692
10.6.2 Memory Windowing 692
10.6.3 Artificial Address Expansion 693
10.6.4 Compressing Code and Assets 694


10.7 Emulation and Simulation 696
Summary 696



CHAPTER 11: The XGS Micro Edition System Design and Programming 697


11.1 Introducing the XGS Micro Edition 697

11.1.2 XGS Micro Edition Switches, Adjustments, and Indicators 698


11.2 The XGS Micro Edition Hardware/Software Model 701

11.2.1 Basic Operation of the XGS ME 702
11.2.2 Hardware Interfaces and I/O Port Mappings 703


11.3 Programming the XGS ME 705
11.4 Power Supply Design 706

11.4.1 The 5.0V Supply 706
11.4.2 The 3.3V Supply 707
11.4.3 The 12.5V Supply 707


11.5 Frequency Divider Circuit Design 708
11.6 Joystick Design and Programming 710

11.6.1 Joystick Hardware Description 710
11.6.2 Reading the Joysticks 714
11.6.3 Implementing the Read Function in SX52 ASM 714
11.6.4 Joystick Demo 719


11.7 Keyboard Interface and Programming 720

11.7.1 Communication Protocol from Keyboard to Host 723


11.8 SRAM Architecture and Programming 729

11.8.1 SRAM Hardware Interface 729
11.8.1.1 Random SRAM Access Bandwidth 732
11.8.2 Accessing the SRAM 734
11.8.3 Demo Program 746
11.8.4 Advanced Uses of the SRAM 746


11.9 Sound Hardware and Programming 747

11.9.1 The BU8763's Hardware Interface 749
11.9.2 Programming the BU8763 750
11.9.3 Sound Demo Program 760


11.10 XGS Video Hardware and NTSC/PAL Programming 761

11.10.1 Video Hardware Description 762
11.10.2 Review of NTSC Video 764
11.10.3 Video Formats and Interfaces 766
11.10.4 Composite Color Video Blanking Sync Interface 767
11.10.5 Color Encoding 768
11.10.6 Putting It All Together 769


11.11 Programming the XGS ME Video Hardware 773

11.11.1 Generating a Composite Luma/Chroma Video Signal Voltage 773
11.11.2 Video Demos 778


11.12 The Onboard Programmer 791
11.13 XGS 30-Pin Interface and SX52 Headers 795

11.13.1 Expansion Slot Ideas 798
11.13.2 SX52 Headers 799


11.14 Multiprocessor Support 799

11.14.1 Adding Multiprocessor Support in Firmware 800


11.15 XGS ME Programming Tutorials 801
Summary 801



CHAPTER 12: The XGS Pico Edition System Design and Programming & Assembly 803


12.1 XGS Pico Edition—Bonus Chapter!!! 803

12.1.1 The Pico Edition Kit 806
12.1.2 The Pico Design Files 808
12.1.3 Pico Edition Systems 809
12.1.4 Building the Pico Edition 820
12.1.5 Powering the Pico Up 853
12.1.6 Programming the Pico 856
12.1.7 Blinking Light Test 859
12.1.8 Joystick Programming 864
12.1.9 Graphics Programming 868
12.1.10 Sound Programming 883
12.1.11 Pico Edition Enhancements 897


Summary 898



EPILOGUE 899

Appendixes



APPENDIX A: Resistor Color Code Chart 905


Examples 906



APPENDIX B: ASCII/Binary/Hex/Octal Universal Lookup Tables 907


ASCII/Hex Table 907
Decimal/Hex/Octal/Binary Table 911



INDEX 919


© Copyright Pearson Education. All rights reserved.

Erscheint lt. Verlag 22.12.2005
Verlagsort Indianapolis
Sprache englisch
Maße 188 x 231 mm
Gewicht 1592 g
Themenwelt Informatik Weitere Themen Computerspiele
ISBN-10 0-672-32820-8 / 0672328208
ISBN-13 978-0-672-32820-6 / 9780672328206
Zustand Neuware
Informationen gemäß Produktsicherheitsverordnung (GPSR)
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
das umfassende Handbuch

von Udo Brandes

Buch | Hardcover (2024)
Rheinwerk (Verlag)
39,90