home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
405.lha
/
Z8_CrossAsm
/
amiga.doc
< prev
next >
Wrap
Text File
|
1990-06-05
|
4KB
|
92 lines
-
- Z8-Basic Assembly language program development using the Amiga.
-
- Bob Bush 22-Apr-1989
-
Amiga.doc
---------
I happen to use an Amiga, running a 'terminal' program, which provides
access to programming my z8-Basic controller. The terminal program also
allows me to send and receive programs to/from the z8-basic controller
via an ascii file capture & send mode. This provides a convienient method
of z8-basic program storage and retrieval. While this method works well for
the stroage/retrieval of Basic programs, no method exists for the transfer
of assembly language programs.
When I developed the z8 cross-assembler I wanted a quick and easy method of
loading z8 assembly programs using somewhat the same methods I had become
comfortable with for Basic programs. The 'z8.hex' file format (output from
the assembler) allows for this capability.
If you are using a 'terminal' program with the same capabilities I have
mentioned above, you now have a means for transferring z8 assembly
programs. The following documentation will explain how such a transfer
can be accomplished.
Using the z8 format hex file
----------------------------
When you assemble a program and use the '-z' option, a special .hex output
file is created in what I call 'z8' format. This file has the capability to
be loaded directly into z8 program memory provided the user has entered
and executed the 'download.bas' program on their z8-basic controller. The
following steps outline a procedure which works well on my setup.
1) Using your favorite 'terminal' emulator, enter the following program
into your z8-basic controller. This is a very short program (5 lines)
so it shoudn't take long at all..
10 rem z8 program loader
20 "Ready for download:"
30 input b
40 input c:if c>255 b=c:goto 40
50 @b=c:b=b+1:goto 40
2) Execute the program. You should see 'Ready for download' and a '?'
prompt appear. This means that the program is ready for an assembly
language download.
3) Back to your terminal emulator. Using the same method you use for
transferring Basic progams to the z8-basic controller, send the .hex
file created by the assembler (This happens to be the 'Ascii file
Send' mode on my terminal emulator). You should see a listing of Hex
code appear on the terminal as the program is transferred. The download
is complete when the Basic program stops with an '!427' error (this is
intentional).
4) If everything works as advertised, the assembly code should have been
loaded in z8 memory at the location specified by the 'org' statement
in the assembly source file. You can now test your program by entering
a GO @%xxxx where 'xxxx' is the start address of your program (in hex).
That's all there is to it...
Possible problems:
------------------
Generally, if you have no problems in transferring Basic programs with
your terminal emulator software, you should not experience any problems
transferring assembly code files. Most problems encountered with the
transfer of programs stems from the fact that z8 basic requires some time
at the end of each line to digest whatever was sent over the Rs232 link.
If your terminal emulator allows for a 'line delay' (this is a settable
delay that occurs after each line is sent from the emulator) try to
increase the 'line delay' parameter. This should solve the problem.
I have tested the shareware terminal emulator 'Access!' and it seems to
work fine at 9600 -or- 19200 baud provided you set the 'line delay' parm
for a short delay between lines.
An integrated solution?
-----------------------
If there is sufficient interest in using the Amiga as a z8 development
tool, I have considered the prospect of developing an integrated
environment which would allow for the development,transfer, and debugging
of z8 assembly (and Basic) language programs. If you are interested in
such a tool please send your comments and or suggestions via Compuserve
email to:
Bob Bush
73105,1332 (compuserve id)
********* end of file **********