1Possible BSVC Projects
2======================
3
4Here is a list of possible projects that can be done with BSVC.  If you're
5a brave person with some spare time or a senior who needs a project to work
6on think about one of the following.  Some of these are very pratical while
7others are a little on the far side.
8
9
101. It would be nice to have the following microprocessors simulated:
11
12   * Intel 8051
13   * Intel 8086
14   * Intel 8088
15   * Motorola 68HC11
16   * Power PC 601
17   * MOS 6502   (I've got most of this written just haven't finished it :-)
18
192. More devices for example:
20
21   * Motorola 6850 UART    I've got part of this written but then I found
22                           out that NCSU had started using the MC68681 :-)
23
24   * Motorola 68230 Timer  So we can do some multitasking ;-)
25
26   * Simple Video Card     A simple device that simulates a very simple
27                           video card.  Sould have some wierd bit plane
28                           modes so student will have to do a lot of
29                           bit minipulations.
30
31   * ROM                   Really simple to implement.  Just like RAM
32                           execpt it reads in a file when it's created.
33
34   * Ethernet Adapter      I'm not sure how hard this would be.
35
36   * Shared RAM            On systems that support shared memory you
37                           could allocate a RAM moduled that shared from
38                           one simulator to the next.  Then fire up two
39                           simulators and let the play in the shared memory.
40                           This is really out there but might be interesting
41                           to play with.
42
43   * Hard disk adapter     Uses a file as a hard disk image
44
453. 68000 stuff
46
47   * See how hard it would be to build GNU C as a cross compiler for the
48     M68000.  Then add a Loader to the Sim68000 to load the a.out file
49     generated by gcc.
50
51   * If you get GNU C working then port XINU to the M68000.
52
534. Cache simulations
54
55   * Get GNU C to work as a cross compiler to one of the microprocessors
56     supported by BSVC.  Add a Loader to the simulator to load the a.out
57     format file generated by gcc.
58
59   * Port a C library to the simulator.  This should be complete enough to
60     allow some UNIX programs to be compiled and ran on the simulator.
61
62   * Subclass the AddressSpace object and implement a Cache simulator.  Then
63     you can use the C programs to benchmark the cache.
64
65   * Might also want to get C++ to work then you could study the effects
66     of OO on the cache.
67
68   * You could also study GC effects on the Cache.
69
70       This would be really neat if it worked but I would suggest more
71       than one person on this project :-)
72
735. BSVC Framework
74
75   * Modify the EventHandler to accept file descriptor events, and timed
76     file descriptor events.  This would eliminate the polling done in the
77     M68681 device.
78
79   * Clean up the interface class and remove some of the C code in there
80
816. Add new feature to the program listing utility
82
83   * Highlight lines were breakpoints are set
84
85   * Allow breakpoints to be set/unset
86