h3 #target ACE
ace
pre #target ACE
#code VRAM_COPY, $2000, $400
#code VRAM, $2400, $400
#code CRAM_COPY, $2800, $400
#code CRAM, $2C00, $400
#code RAM_COPIES, $3000, $C00
#code SYSVARS, $3C00, $40
#code RAM, $3C40, ramsize - $840
p This target creates a snapshot file for use with a Jupiter Ace emulator.
p This format may be reworked to remove the necessity to include the empty mirror pages
p The ram of the Jupiter Ace starts with several copies of the video ram and the character ram, before the usable area at address $3C00 is reached.
p The Z80 registers and some settings are stored in the first page at $2000. Since all system variable locations are included in this file, there is probably no need to define a #data segment, except if you include c sources.
p Allowed ram sizes are 3k, 3+16=19k and 3+32=35k. This results in a total of $2000, $6000 or $A000 bytes in all code segments, including mirrors.
p See the Jupiter Ace .ace template file: template_ace.asm
p.b Basic layout of the ace file:
pre #target ACE
#code VRAM_COPY, $2000, $400
;
; this is a "copy" of the video ram at $2400.
; it should be empty except for the Z80 registers which are stuffed in here.
; see the template file for the layout of this data.
;
#code VRAM, $2400, $400
;
; this is the actually loaded data for the video ram.
; you may put here a greeting message (in ascii) which is instantaneous visible.
;
#code CRAM_COPY, $2800, $400
;
; a copy of the character ram which follows. must be empty.
;
#code CRAM, $2C00, $400
;
; the character ram.
; simply #insert the file "Examples/jupiter_ace_character_ram.bin" here.
;
#code RAM_COPIES, $3000, $C00
;
; 3 copies of the ram at $3C00. must be empty
;
#code SYSVARS, $3C00, $40
;
; the Forth system variables. must be set up properly.
; see the template file for the layout. For the values ask someone else... :-|
; If you can give some advice or a sample setup please send email to Kio. Thanks!
; if you don't use the Forth rom then you may use the whole rom as you like.
;
#code RAM, $3C40, ramsize - $840
;
; the free ram after the system variables.