Prof. Dr. rer. nat. Peer Johannsen

Course Related Lecture Material for:
  • Advanced Hardware Oriented C and Assembly Language Programming
  • Advanced Software Development Project Implementation

Retro Programming - Vectrex Academy 2020

General Information

  • Advanced Elective Courses (twice 2 SWS / 3 ECTS, thus total of 4 SWS / 6 ECTS )
  • Fraunhofer IAIS Initiative "Roberta - Lernen mit Robotern" - 
  • Advanced skills in programming, computer science, and calculus required
  • Limited number of seats, entry test must be passed.

Contact

Schedule Spring Term 2020

  • Weekly appointments, Monday 11:30 - 13:00 and Thursday 09:45 - 11:15
  • Timeslots might still be subject to change.
  • (Locations T2.2.05 and Computer Science Lab T2.2.07)
  • For the time being, the lecture will be presented as online-tutorial.
  • Please subscribe to the corresponding Moodle course.
  • You will find more information there.

Course Topics and Educational Objectives

  • Advanced knowledge of the C Programming Language
  • Advanced C Programming Skills
  • Inner workings of a C compiler
  • MC 6809 assembly language programming
  • Deeper understanding of how C is mapped to assembly language
  • Advanced machine oriented C-programming techniques
  • Memory efficient data structures, runtime efficient algorithms
  • Game development techniques, bit twiddling hacks
  • Vector graphics, the Vectrex system

Development Tools and Environment

  • Laptop, Windows, Linux or Mac
  • VIDE - Vectrex Integrated Development Environment (by Malban)
  • ParaJVE Vectrex Emulator (by Parabellum)
  • jsvecx Vectrex Emulator for your web browser (by Dr. Snuggles)
  • Geany Configurable Integrated Development Environment
  • Notepad++ source code editor

Project Resources

  • Vectrex Academy Game Project Template and Demo (vectrex.zip)
  • MinGW environment for running GCC under Windows (installer)
  • Install G++ (GCC) with MinGW (it is sufficient to install only the needed libraries, but no harm in installing everything)
  • In Windows, add C:\MinGW\bin to user and system path variable
  • How to edit environemt variables in Windows 10 (video)
  • Optional: configuration files for Visual Studio (Code) integration

Vectrex C Programming Interface

Vectrex Programming Documentation

  • Introduction to Vectrex Programming by Christoph Tumber (PDF)
  • Vectrex Programmer's Manual - Part 1 (PDF)
  • Vectrex Programmer's Manual - Part 2 (PDF)
  • Motorola MC6809 Programming Manual (PDF)
  • Motorola MC6809 Programmers Reference (PDF)

Vectrex Programming Online Resources

Vectrex Web Pages

Archive

Book References

  • Game Development and Retro Programming
    • "Making 8-Bit Arcade Games in C", Steven Hugg
    • "Game Design und Produktion", Gunther Rehfeld, Hanser Verlag
    • "Classic Game Design", Franz Lanzinger, Mercury Learning and Information
    • "Game Programming Patterns", Robert Nystrom, Genever Benning
  • MC6809 and Assembly Language Programming
    • "Der Mikroprozessor 6809", Jörg Zschocke, Springer Verlag, 1986
    • "Mikrocomputertechnik mit dem Prozessor 6809 und den Prozessoren 6800 und 6802", Günter Schmitt, Oldenbourg Verlag, 1994
    • "Advanced 8-Bit Microprocessor: MC6809", Rober J. Simpson, Raveendran Paramesran, Springer Verlag 1998
    • "6809 Assembly Language Programming", Lance A. Leventhal, Osborne / McGraw-Hill, 1981
    • "6809 Microcomputer Programming & Interfacing with Experiments", Andrew C. Staugaard, Blacksburg, 1981
    • "The MC6809 Cookbook", Carl D. Warren, Tab Books, 1980

Disclaimer

  • Pforzheim University is not responsible for the contents of external websites.

Acknowledgements in no particular order

  • Many thanks go to Mr. Helmut Müller for supporting this project from the very beginning on and for generously donating parts of his Vectrex collection to the Computer Science Lab.
  • Also many thanks to Mr. Christopher Salomon for his great support and for integrating our C Setup (and several other whishes) into VIDE, he also generously donated parts of his personal Vectrex collection to the Computer Science Lab.
  • And many thanks to Mr. Franck Chevassu, the creator of the ParaJVE Vectrex emulator, for kindly providing us with his ParaJVD Vectrex debugger and for giving us free licenses for this tool.

Latest modification on 04/06/2020, 09:30

  • Link to the 2020 Vector Gaming Forum thread added