Old hardware ages however, so to retain the means to run 2600 games I propose to write an emulator, so that this often overlooked part of computer history is not lost.
It is useful to note that there is a 2600 emulator that runs under MS Windows. I feel that this does not answer the need fully, as according to its author it needs to be altered slightly for different games, and is proprietary to Activision, so that many cartridges will not be available for it.
I have documentation on several cartridge formats, including ActivisionĘs. My experience of 6502 assembly during Computer Systems 1 will also be useful.
The 6507 emulator will be constructed by obtaining an existing 65xx emulator, and modifying it to emulate the 6507. There are several available, including the 6510 emulator of x64, which is under the GPL (Gnu Public License).
The video hardware will have to be modelled by emulating the position of the electron beam of the TV, as the 2600 uses this to set sprite positions, although other features could possibly be implemented on a per line rather than a per pixel basis.
The video hardware will probably be the limiting factor for the speed of the emulator, as many comparisons will be necessary for each line of emulated display. Another factor will be the speed of the X server. To speed up the display I will support the MIT Shared Memory Extension which provides a performance boost to image copying when the client and server are on the same host.
1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|
Start Research | Project Specification | Learnt X basics | ||
6 | 7 | 8 | 9 | 10 |
Obtained Cart Images | Researched Hardware | Oral Preparation | Oral Presentation |
1 2 3 4 21st CPU Birthday adapted to 6507
1 2 3 4 5 Loading Joystick Display Backgroun Cart Emulation Timing d/ Images Playfield 6 7 8 9 10 Player Prepare Priority Run a missile for demo. Encoder 2600 cart graphics on x2600. Demo.
1 2 3 4 5 Write project report . .
1 2 Hand in project report
Since my project will be source code compatible between Linux and SunOS, my departmental account will be the backup site for my home system.