DIY-Calculator Hardware:Upload Utility Project

From DIY-Calculator_Hardware

(Difference between revisions)
Jump to: navigation, search
Revision as of 15:15, 13 November 2006
Max (Talk | contribs)

← Previous diff
Revision as of 09:24, 20 November 2006
Jh (Talk | contribs)

Next diff →
Line 11: Line 11:
---- ----
<div style="border:0; margin: 20px 20% 0px 0px;"> <div style="border:0; margin: 20px 20% 0px 0px;">
 +
 +<div style="background:#f9f9f9; padding:0; border:1px solid #aaaaaa; margin-bottom:15px;">
 +<div style="background:#eeeeee; padding:0 0.4em 0 0.4em; border-bottom:1px solid #aaaaaa;">
 +'''Project status'''&nbsp;(20.Nov.2006): Update of the [[:Media:diy_load-1.1-src.zip|Loader Application]] after code review
 +</div>
 +
<div style="background:#f9f9f9; padding:0; border:1px solid #aaaaaa; margin-bottom:15px;"> <div style="background:#f9f9f9; padding:0; border:1px solid #aaaaaa; margin-bottom:15px;">

Revision as of 09:24, 20 November 2006

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 (20.Nov.2006): Update of the Loader Application after code review


Project status (11.Nov.2006):

We are proud to announce the 1.0 version of the DIY Calculator Loader application. See the main window of the application:
Loader application main screen
Enlarge
Loader application main screen
.


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:

all windows open
Enlarge
all windows open
terminal session
Enlarge
terminal session


Windows:

all windows open
Enlarge
all windows open
terminal session
Enlarge
terminal session


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

Personal tools