I give lectures on Motorola 6800 Microprocessor Programming in assembly language. I would like an online tool to help students understand the concepts. In particular, it would be useful to have a Java Applet that allows the inputting, save/load and simulation any program in assembly code. It must provide a controlled environment for users to enter the code (ensuring its syntax correctness) they want to simulate, and then save it to disk. It must also be capable of accepting parameters from the webpage in which it is embedded, such as grabbing a pre-written code from a location from the internet to simulate on.
I would expect the main window to show the code, with arrow indicating the current position. The user should be able to step forward and backwards the code and look at its effect, much like a debugger.
Of course there must be boxes in the applet to monitor registers, stack, program counters, flags, memory location etc. A different colour to indicate "just changed" values is needed. Also note that different instructions/addressing mode take different number of clock cycles, so I will need a cpu cycle counter to let students compare speeds on different algorithms solving the same problem.
I'll provide the lecture notes on condition of non-disclosure.
I need more than a working program, this is also a chance for me to learn about applet programming. Please make sure the code is well commented and well written. The object-oriented good practices of Java programming should be followed. I will also expect support by email/MSN messener in understanding your code if needed, and requesting amendments within the context of this description.
I'll also need a brief technical document to allow a competent Java developer to follow and extend your work if necessary, please see deliverables below.
Note: I am from the UK so will have to pay you in US$ via PayPal or in Sterling Pound Cheque (at prevailing rate)
The Instruction Set is found below:
<[login to view URL]>
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
4) A Technical Abstract document that will allow a competent Java programmer to familiarise himself/herself with the structure of the work and allow it to be extended easily if necessary. UML diagrams would be useful. The code should be well commented as well.
## Platform
A Java Applet that can be embedded into webpages and runs on all machines with Java Virtual Machine installed.