DIY-Calculator Hardware:Upload Utility Project
From DIY-Calculator_Hardware
Revision as of 13:12, 19 January 2007 Jh (Talk | contribs) ← Previous diff |
Revision as of 13:12, 19 January 2007 Jh (Talk | contribs) Next diff → |
||
Line 22: | Line 22: | ||
* 'Refresh' item in Memory Display/View menu | * 'Refresh' item in Memory Display/View menu | ||
* option for starting user program automatically after boot | * option for starting user program automatically after boot | ||
- | * create installer package: [[:Media:diy_load-1_3-setup-win32.exe|diy_load-1.3-setup-win32.exe]] | + | * create installer package: [[:Media:diy_load-1_3-setup-win32.exe|diy_load-1_3-setup-win32.exe]] |
</div> | </div> | ||
</div> | </div> |
Revision as of 13:12, 19 January 2007
After you have created, assembled, run, tested, and debugged a program on the Virtual DIY Calculator, you will wish to download this program into the Physical DIY Calculator. This requires two things:
- A utility running on the host PC that can be used to locate a machine code program on the PC and transmit it to the Physical DIY Calculator.
- A routine running in the Physical DIY Calculator that accepts and stores the new program (this routine "lives" in the Physical DIY Calculator's ROM monitor program.
In the case of the utility running on the host PC, it would be possible to send a file with the terminal emulation program; however, a more intuitive Graphical User Interface (GUI)-based program is preferable. Furthermore, by creating a dedicated program for this task, it is possible to generate a checksum or use a protocol of choice for ensuring correct transmission. The transmission status (success/failure) can be displayed. This program should be written in "C" using the GTK library of GUI widgets to be easily ported to different platforms.
Project status (19.Jan.2007):
New version of the Loader Application. Changes:
- 'Refresh' item in Memory Display/View menu
- option for starting user program automatically after boot
- create installer package: diy_load-1_3-setup-win32.exe
Project status (15.Dec.2006):
New version of the Loader Application. Changes:
- solved error that console was grabbed when started in offline mode (linux version only)
- issue a soft-reset (CTRL C) at startup
- add internet link to 'Tools' menu
Project status (20.Nov.2006):
Update of the Loader Application after code review
Project status (11.Nov.2006):
It enables you to do the following via graphical user interface:
- load a user program to the DIY Calculator hardware
- save the user program into onboard flash memory
- run the user program
- single step through the user program
- display and update CPU registers during single step
- view an arbitrary area of memory of the DIY Calculator
- select a hexdump or a disassembler view
- purge the DIY Calculator's memory
- display the most important I/O ports
- select the CPU speed. Caution: When setting the CPU clock speed to real slow values (ca. < 1MHz), the communication between the DIY Calculator hardware and the Loader application is not guaranteed to work reliable!
- open a terminal to the DIY Calculator hardware
The application is available both in Windows and Linux. It requires the GTK Widgets runtime library, version 2.6.4 or newer. Linux users will most likely have already installed GTK, Windows users may download the latest runtime from here: [1].
View more screen shots:
Linux:
Windows:
Plus for those who can't wait: We created a simulator program that simulates the real hardware responses. Just connect the two communication ports of your PC via a null modem or connect two PCs via null modem, start the simulator program and try out the DIY Calculator Loader application. Be aware that this is 'not' a CPU simulator (you already have this with the Virtual DIY Calculator); it just simulates the ROM monitor responses. diy_sim-1.0-src.zip
Please view the README file.
For other updates visit the other sections: Hardware Project; ROM Monitor Project
Project status (7.Nov.2006):
A lot has happened since the last update. The loader application has made great progress.
Project status (12.Oct.2006):
work started
Project status (19.Jul.2006):
considered