66 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
During 0.1.x:
 | 
						|
 | 
						|
  - complete simulation of 8515 device.
 | 
						|
 | 
						|
  - external peripheral device connection interface.
 | 
						|
 | 
						|
  - write, read and access watchpoints
 | 
						|
 | 
						|
  - documentation
 | 
						|
 | 
						|
During 0.2.x:
 | 
						|
 | 
						|
  - add support for all at90s**** devices (Is this too ambitious?)
 | 
						|
 | 
						|
  - speed improvements (optimization)
 | 
						|
 | 
						|
During 0.3.x:
 | 
						|
 | 
						|
  - add support for megas and tiny's (This might require some redesign
 | 
						|
    work to get the atmega128 like devices right)
 | 
						|
 | 
						|
Misc TODO's:
 | 
						|
 | 
						|
The conversion to autoconf/automake configuration is working, but still needs
 | 
						|
to have the actual porting issues worked into the project. Also, the autoconf
 | 
						|
macros (the config/*.m4 files) could be robustified. For instance, the
 | 
						|
TROTH_PROG_AVR_CC macro really should do more than just checking if avr-gcc is
 | 
						|
in yout $PATH. It should also make sure that avr-gcc works. Like wise for the
 | 
						|
other macros. It's a start at least.
 | 
						|
 | 
						|
Build the virtual hardware harness and gui. I'm thinking it be able to plug a
 | 
						|
device into something like the Atmel stk200 board thus giving the user LEDs
 | 
						|
for visual feed back and push buttons for supplying inputs to the ports. Also,
 | 
						|
I'd like to simulate the analog comparators and ADCs if possible. It might
 | 
						|
also be interesting to simulate a popular LCD display.  More interesting might
 | 
						|
be the potential for custom user designed virtual peripherals which could be
 | 
						|
plugged into the virtual board. I wonder if I can use the same interface as
 | 
						|
gpsim, thus allowing the sharing of modules between the two projects?
 | 
						|
 | 
						|
Make a python module out of the library.
 | 
						|
 | 
						|
Need to write functions for loading/dumping eeprom from/to files.
 | 
						|
 | 
						|
Add support for ihex, srec, elf, and whatever else input file formats.
 | 
						|
 | 
						|
The interrupt code looks like it needs a major re-thinking. It doesn't handle
 | 
						|
the interrupt flag mechanism and doesn't support automatic vectoring into ISRs
 | 
						|
that occurred when the interrupt occured and was disabled either globally or
 | 
						|
by the specific control register and then the interrupt was subsequently
 | 
						|
enabled. This looks like it might be yucky. I'm seriously thinking that
 | 
						|
interrupts need to be handled via some asyncronous mechanism like unix
 | 
						|
signals. Also, some way to implement the interrupt response time needs to be
 | 
						|
thought out.
 | 
						|
 | 
						|
Add code to output number of instructions executed (and per second) and total
 | 
						|
number of clocks (and per second). Should go in main.c.
 | 
						|
 | 
						|
There's a bunch of FIXME comments in the code in places where someone needs to
 | 
						|
give more thought to the logic.
 | 
						|
 | 
						|
These io registers still need to be implemented:
 | 
						|
  GIMSK
 | 
						|
  GIFR
 | 
						|
  All the timer/counter 1 stuff.
 | 
						|
  Lots of others too.
 | 
						|
 |