Prof. Dr. rer. nat. Peer Johannsen

Course Related Lecture Material for Robot Programming

The Vectrex Project



General Information

  • Advanced Elective Course (4 SWS, 6 ECTS)
  • Fraunhofer IAIS Initiative "Roberta - Lernen mit Robotern" - 
  • Limited number of seats available
  • Advanced skills in programming, computer science, and calculus required


Schedule Spring Term 2016

  • Weekly appointments, Wednesday, 08:00 - 11:15
  • Location T2.2.07, Computer Science and Robotics Lab
  • Location T2.2.05, seminar room


Course Topics

  • MC 6809 assembly language programming
  • Advanced machine oriented C-programming techniques
  • Inner workings of a C compiler
  • Game development techniques and hacks
  • Vector graphics
  • The Vectrex system


Vectrex Project Gallery


Development Tools and Environment

  • Laptop, Windows OS or Linux
  • The ParaJVE Vectrex Emulator
  • The ParaJVD Vectrex Debugger
    • Password protected ZIP file
    • Licensed to Pforzheim University only
    • Preconfigured for Windows 64 Bit
    • Instructions on how to install and use the debugger will be given in the lecture.
  • Notepad++ source code editor
  • Kingswood Consulting AS09 Cross Assembler
  • GCC compiler port to the Motorola 6809 processor (gcc6809)
  • 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)
  • Motorola S-Record File Format Converter (srec2bin)
  • VIDE - Vectrex Integrated Development Environment


Project Resources

  • Vectrex project template (directory structure plus files, ZIP)
  • Vectrex game manual templates (powerpoint files, ZIP)
  • Vectrex game overlay templates (png files, ZIP)
  • Syntax-highlighting for 6809 assembly language in Notepad++ (XML)
    • Use right-click and "save link as.."
    • In Notepad, go to "Sprachen" - "Eigene Sprachen definieren" - "Importieren" and import file


Project Tasks


Project Updates

  • Please send in a short update on your project by July 24 at the latest.
  • The update should contain:
    • a short note stating the estimated percentage of completness (e.g. "my game is now 80% complete...")
    • some up-to-date screen shots (those will be added to the gallery)
    • a game binary (the current version of your game as it is now)
  • To motivate you to send this update, delivery on time will be taken into account when it comes to grading your projects!


Project Deliverables and Submission Deadline

  • The project results are to be send in as zip file by August 12 at the latest. Earlier transmittal is welcome.
  • The zip file should contain:
    • the complete source code of your project (required)
    • the final game binary (required)
    • the game manual (required)
    • the game overlay (optional)
  • The source code should be reasonably documented by using inline comments. Further documentation is welcome, but not required.
  • Grading will be based upon the completeness of your project and the game itself, i.e. idea, realization, implementation, gameplay, manual, etc.
  • Including the optional game overlay will be positively rewarded.


Source Code and Examples

  • Hello World, assembly language and C source code (ZIP)
  • Moving spacecraft, C source code (ZIP)
  • Moving spacecraft 2, new directory structure, new makefile, including libgcc (ZIP)


Vectrex Programming Documentation

  • Vectrex Programmer's Manual - Part 1 (PDF)
  • Vectrex Programmer's Manual - Part 2 (PDF)
  • Motorola MC6809 Programming Manual (PDF)
  • Motorola MC6809 Programmers Reference (PDF)
  • Kingswood AS09 Assembler Man Page (PDF)
  • Introduction to Vectrex Programmaing by Christoph Tumber (PDF)

Vectrex Programming Online Resources


Vectrex Web Pages


Book References

  • "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

  • 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. 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 08/26/2016, 11:05

  • Major update of the project gallery completed