Autorun Templates.
Update October 2020 -
for ZASM v.4.2.x or above
AUTORUN_template.asm - for TAP file with autostart
BIN_template.asm - for TAP file with binary code with pre-defined starting address
DICT_template.asm - for TAP file with new vocabulary definitions
see here Many thanks to Claudius
These templates allow you to create "auto run" programs for the Jupiter Ace, programs that automatically execute when loading has completed. There are two templates one to create autorun applications (autorun.asm) and other (arun.asm) to give existing applications the autorun capability.
The two template files should be saved to the TASM folder, which should also have the latest include files (ace.inc and aceforth.inc) located in the same folder. The latest up to date include files can be found here You will also find the TAP file templates are needed which are also included in the zip file below.
In the zip file are two examples you can try:
Load 'aexample.tap' into EightOne and type '0 0 bload autorun'.
It should load the a program and autorun it playing a short tone.
It should load the a program and autorun it playing a short tone.
Load 'autoworms.tap' into EightOne and type '0 0 bload aworms'.
It is the well know 'worms' game from the 'Ace Demonstration Tape' with an added autorun capability.
It is the well know 'worms' game from the 'Ace Demonstration Tape' with an added autorun capability.
Example template.
; aworms.asm ; Z80 ASM example file on how to use the template to give autorun capability ; to existing Jupiter Ace files. ; 2009, January - The Jupiter Ace Archive Team -> www.jupiter-ace.co.uk ; Instructions: ; A) Compile using TASM assembler: ; TASM -80 -b -l aworms.asm aworms.tap ; B) Use a Hex editor to concatenate the compiled file 'aworms.tap' with ; the 'worms.tap' and 'graphics.tap' files from Utilities Tape. ; C) load the resulting file 'a.tap' in the EightyOne emulator Tape Manager ; D) autorun the game using: ; 0 0 BLOAD aworms ;==================== SET HERE THE AUTORUN FILENAME ==================== #define ARFILENAME .TEXT "aworms " ; Autorun filename ; |----------| Keep it exactly 10 chars long! ;======================================================================= .WORD 26 ; TAP 1st chunck size ARHEADERBLK: ; Header Block Start .BYTE $20 ; File Type = byte ARFILENAME ; Filename (10 bytes) .WORD ARDATABLKEND - ARDATABLK ; File Lenght .WORD $22E0 ; Start Address: 24th screen line .WORD $2020 ; current word link .WORD $2020 ; CURRENT .WORD $2020 ; CONTEXT .WORD $2020 ; VOCLNK .WORD $2020 ; STKBOT .CHK ARHEADERBLK ; Header Block CheckSum .WORD ARDATABLKEND-ARDATABLK+1 ; TAP 2nd chunck size (32) ARDATABLK: ; Data Block .BYTE 0 ; Input buffer start marker .TEXT "LOAD " ; Load ;================== SET FILE TO LOAD AND THE WORD TO RUN =================== .TEXT "worms GET graphics GO" ; file to load and word to run ; |-------------------------| < Max size: 25 charS ;=========================================================================== .FILL 31-($-ARDATABLK),$20 ; Fill remaining with space ARDATABLKEND: ; Mark Data Block End .CHK ARDATABLK ; Data Block Checksum .END