IDE68K Readme.txt
==================

68000 Integrated Development Environment version 3.00.
------------------------------------------------------
Thank you for your interest in "68000 Integrated Development
Environment", a program that integrates the entire process of
editing, compiling and/or assembling Assembly or C programs
written for the 680x0 family microcomputer system and
running either on a built-in simulator or on an external 68000
microcomputer system connected to the PC through a serial port.

The program's main purpose is to provide hand-on experience with
low-level (assembly) programming and the relationship with high-
level programming in C and assembly programming in courses on
computer architecture and programming.

License agreement.
-----------------
This software is distributed as FREEWARE.

You may give copies of the program to others as long as no file is
changed or omitted. You may not sell or lease this software.

System requirements.
-------------------
IDE68K is a 32-bit application. It runs on Windows 95/98/ME,
Windows NT 4.0, Windows 2000, Windows XP, Windows Vista and Windows 7
(both 32 and 64 bits)

IDE68K is best run with a monitor resolution of 800x600 or
better, the 80x25 character fixed-size window of the simulator/
terminal emulator is slightly too wide for the screen at 640x480
resolution.

Installation.
------------
If you have installed a previous version of IDE68K, please remove
the program from the system before running Setup.exe to make
certain that the old version is indeed overwritten with the new
version.

To install this program on your system, run Setup.exe from the
installation diskette. This program performs the installation,
all program files are included on the diskette. To create another
setup disk, you can simply copy all files to the target diskette.

The program can be uninstalled by selecting "Add/Remove Programs"
from the "Control Panel" and selecting "IDE68K" from the listbox.
If you have used IDE68K, and doing so, added new files to the Examples
directory, uninstall will not be able to remove all files in this
directory. For a complete uninstall you have to remove the IDE68K
directory and its contents yourself.

Installed files.
----------------
In addition to the files in C:\Program Files\Ide68k or whatever
directory you have installed the program, 68000 application programs
are also installed in directory C:\IDE68K.

NOTE: For convenience, the examples directory C:\IDE68K\Examples is
hard coded in the registry during the setup process. When installing
to another partition, this directory name may not be valid.
The initial message "Cannot set default directory" may be ignored.
You have to set default, library and include directories in the
Options|Directories menu. Thereafter, IDE68K starts up with the
correct directories.

This directory C:\IDE68K contains the following files:

\IDE68K\LIB
---------------
This directory contains library files for the assembler and includes
the start-up files for the C compiler (SIM68K version), compiler-helper files
and files for the standard C-library, both in C- and Assembly version.
Do not change these files unless you know what you are doing!

\IDE68K\INCLUDE
----------------------
This directory contains the header files used by the C compiler.

\IDE68K\CUSTOM
--------------
This directory contains the source code for the custom I/O device.

The following files are in this directory:

Simpledev.h
-----------
Header file with some definitions to be used with Simpledev.c and
Simpledev.rc.

Simpledev.c
-----------
This is the source for Simpledev.dll. It contains the definitions
for the dialog and the controls use in the window for Simpledialog.

Simpledev.rc
------------
This is the resource script for Simpledev. It contains the definition
for the dialog implemented in Simpledev.dll. Although an ordinary
text file, this resource script can best be edited by a resource
editor supplied with the compiler.

Simpledev.dll
-------------
This is the DLL file loaded by the 68000 Visual Simulator to execute
the 68000 program Simple.asm

Switches&leds.c
---------------
This is the source for Switches&leds.dll. It contains the routines
to create, control and close standard I/O devices from a DLL.

Switches&leds.dll
-----------------
This is the DLL file loaded by the 68000 Visual Simulator to execute
the 68000 program Myswitches.asm.

\IDE68K\EXAMPLES
----------------
This directory contains example files written in 68000 Assembly,
or C and are intended to demonstrate what IDE68K and its support
programs can do. These files are also used to test the system.

The following files are in this directory:

Bounce.asm
----------
This program shows a bouncing ball (actually the cursor) bouncing
across the screen. Pressing any key will terminated the program.
The main purpose of the program is to demonstrate cursor movement
functions by means of ANSI escape-codes.

Encrypt.asm
-----------
This program encrypts a string by means of a 2nd string, the "key".
It demonstrates the use of macros with ASM68K.

Histogram.asm
-------------
This program lets the user enter a string and then prints a
histogram of the number of times a character appears in the string.

Tbi68k.asm
----------
This is a Tiny Basic interpreter written for the 68000 and adapted
to run on SIM68K. You can run 1975 BASIC programs on a Windows 2000
computer.
(Bill would love it!)

Colors.c
--------
This is a C program to demonstrate ANSI Escape sequences for color
setting. The program runs forever and can only be terminated by
resetting the simulator (Ctrl+Break).

Dhry.c
------
This program is the well-known dhrystone benchmark for compiler
and processor testing. It can be compiled by loading dhry.prj in
the "Project|Open project" menu. The program does nothing special,
it is just a mix of various C-language statements and expressions
with a distribution which represents an average C program. See also
dhry.h.
(The simulator runs at about 12000 Dhrystones per second on a 3 GHz
Pentium 4 PC).

Hello.c
-------
This program can be compiled by loading hello.prj in the
"Project|Open project" menu. It displays the well-known string
"Hello world!".

Limits.c
--------
This program can be compiled by loading limits.prj in the
"Project|Open project" menu. Its main purpose is to test limits.h
and displays the maximimum values of char's, short's, int's and
long's both signed and unsigned.

Sieve.c
-------
This is a C language version of Eratosthenes' sieve to find prime
numbers. Its main purpose is to check the execution speed of the
simulator versus a real 68000 microcomputer board. As is turned
out, the simulator runs about ten times faster than the real 68000
at 10 MHz.
(Well, that is, on a 2.8 GHz Pentium PC).

Vararg.c
--------
This is a C program to test passing of a variable number of
arguments to a function using the ANSI-defined macros va_start,
va_list and va_end.

Programs to be used with the Visual Simulator:
=============================================

Add5.asm
--------
This program adds five numbers in memory and stores the result in
the next memory location.

Analog.asm
----------
To run this program in the 68000 Visual Simulator, you must enable
the SLIDER, LED's and BARGRAPH windows from the Peripherals menu.

If you click the mouse on the slider button and keep the mousebutton
down, you can move the slider control up and down. The BARGRAPH will
display the slider position in analog form. The LED display indicates
the slider position in binary (0 - 255).

Bsort.asm
---------
This program sorts an array of five numbers in ascending order
using a simple bubblesort algorithm.

Div2.asm
--------
This program asks the user to enter two decimal numbers and displays
the quotient. Numbers are entered and the result is displayed in the
I/O window which is automatically activated. Zero-divide exception
may be triggered if 2nd number is 0.

Help.asm
--------
To run this program in the 68000 Visual Simulator, you must enable
the 7-SEGMENT DISPLAY window from the Peripherals menu.

When the program runs, flashing HELP is displayed on the 7-segment
display.

Interrupt.asm
-------------
This program exercises the interrupt handling built into the 68000
Visual Simulator. The 68000 is made to run in USER mode with interrupt
levels 6 and 7 enabled. Pressing one of the buttons on the Toolbar
marked I6 or I7 generates the corresponding interrupt.

Depending on the interrupt, the 68000 generates two different sound
signals (sounds must be enabled in Windows).

You can use the interrupt timer if you select INTERRUPT TIMER from
the peripherals menu and set interrupt level and interval time of the
timer.

Myswitches.asm
--------------
This program is used to test the operation of standard 68000 Visual
Simulator devices created by a user-written DLL (Switches&leds.dll).

It is functionally equivalent to Switches.asm for the standard I/O
devices.

Drawlines.asm
-------------
To run this program in the 68000 Visual Simulator, you must enable
the DRAWPAD window from the Peripherals menu.

When the program runs, the 68000 draws a pattern of random lines on
the drawing pad using randomly selected colors. After 100 lines drawn,
the program waits for a few seconds, then erases the display with a
randomly selected background color and starts drawing lines again.

Quiz.asm
---------
The user is asked to type the decimal value of the binary number in
the LED display in the I/O window.

If the value is correct, the program responds with "Very good" and
presents a new random binary number. If not correct, the 68000 says
"What is this" and presents the same binary number again.

The binary number is choosen at random intervals from the low byte
of the system timer which increments at 18.2 times per second

Simple.asm
----------
This program exercises a simple custom I/O device connected to the
68000 Visual Simulator. The 68000 is made to run in USER mode with
interrupt levels 5 and 6 enabled.

Input data read from the custom device I/O ports A and B is
exclusive or'ed and masked with databits from the switch device.
The result sent to is I/O port C and displayed by the custom device
and the LEDs.

Pressing one of the buttons of the custom device marked 5 or 6
generates the corresponding interrupt. Depending on the interrupt,
the 68000 generates two different sound signals (sounds must be
enabled in Windows).

Strupr.asm
----------
This program asks the user to enter a string which is subsequently
displayed in upper-case characters. This program makes use of a
subroutine to convert characters to uppercase; the use of the stack
to store the return address is clearly visible in the memory window.

Switches.asm
------------
To run this program in the 68000 Visual Simulator, you must enable
the SWITCHES and LED's windows from the Peripherals menu.

If you click the mouse on one of the switches, the corresponding LED
will be turned on.

Timer.c
-------
This program can be compiled by loading timer.prj in the "Project|Open
project" menu.

Be sure to select option "generate assembly listing" for every file in
the project, otherwise it cannot be run on the 68000 Visual Simulator.

To run this program in the 68000 Visual Simulator, you must enable the
7-SEGMENT DISPLAY window from the Peripherals menu.

The display indicates the time in seconds since the 68000 program has
started. Its main purpose is to show how 68000 I/O devices can be
programmed from a C-program (using pointers to the device).

Daytime.c & daytime.a68
-----------------------
This program can be compiled by loading daytime.prj in the "Project|Open
project" menu.

Be sure to select option "generate assembly listing" for every file in
the project, otherwise it cannot be run on the 68000 Visual Simulator.

To run this program in the 68000 Visual Simulator, you must enable the
7-SEGMENT DISPLAY window from the Peripherals menu.

The display indicates the time of day (hours/minutes) on the 7 segment
display. The program demonstrates how to call an assembly function from
C and how to use the 7 segment display as an array: int display[4].

\IDE68K\OS EXAMPLES
-------------------
This directory contains example files written in C and are intended to
demonstrate what IDE68K with a Real-Time Operating System uC/OS-II and
its support programs can do. These files are also used to test the system.

\IDE68K\uCOSII
--------------
This directory contains the CPU specific files for uC/OS-II. Non-CPU
specific files for uC/OS-II cannot freely be distributed. They must be
downloaded from Micrium after registration.

DISCLAIMER.
----------
There are no warranties associated with this software. While I
believe this software product is reasonably bug free and well-behaved,
I am in no way responsible if this program does not work you would
expect to work.

BUGS AND COMMENTS.
-----------------
If you have problems with this program, discover any bugs or just
want to give comments, please send E-mail to

   pfondse@hetnet.nl

