home *** CD-ROM | disk | FTP | other *** search
- e
- _*********************************************************
- _* *
- _* module name : EQUATEV1.1.ASM *
- _* contains global equates and *
- _* zero page defs, plus other global *
- _* memory locations. *
- _* *
- _* Maintenance log *
- _* --------------- *
- _* 24/02/89 00:30 initial coding *
- _* date time action *
- _* ---- ---- ------ *
- _* 24/02/89 21:55 initial coding *
- _* 06/04/89 22:40 added zero page defns *
- _* 21/04/89 21:00 added screen defns *
- _* 03/05/89 17:45 modified load section *
- _* 19/05/89 20:55 savestk equate added *
- _*********************************************************
-
- _
- _ Character equates
- _
-
- config = $00 _ RAM 0, I/O and all ROMs RAM $0000 - $3FFF
- cr = 13 _ Carriage return
- del = 20 _ back space
- space = 32
- comma = 44
-
- _ operating systems page zero and page one MMU values
-
- osp0low = 0
- osp0hi = 0
- osp1low = 1
- osp1hi = 0
-
- _ other useful equates
-
- maxlen = 16 _ maximum name length
- pagend = 255 _ final location in a page
-
- _ Kernal & routine Definitions
-
- ldafar = $02a2
- stafar = $02af
- basin = $c012
- irqret = $ff33
- nmiret = $ff33
-
- _ MEMORY DEFINTIONS
-
- _
- _ zero page area (placed here so that assembler defines these labels first
- _ and so it doesn't take a zero page label and because it
- _ is undefined, take 2 bytes for the address in this module
- _ structure.)
- _
- _ Program table locations
-
- tabpntr = $40 _ pointer to the table
- current = tabpntr+2 _ currently running program
-
- _ Memory control routine addresses do not re-order
-
- ramused = $50
- startram = ramused + 1
- endram = startram + 2
- length = endram + 2
- givelen = length + 2
- storpntr = givelen + 2
-
- _ relocation routine
-
- newstart = $70
- newend = newstart + 2
- newram = newend + 2
- execadd = newram + 1
- oldadd = execadd + 2
- oldend = oldadd + 2
- progptr = oldend + 2
- curradd = progptr + 2
- newexec = curradd + 2
-
- _ loader routine addresses
-
- zeropage = $30
- pageone = zeropage + 1
- pritemp = pageone + 1
- zeroadd = $4a
- iomode = $9d
- startlo = $ae
- starthi = $af
- prgnlen = $b7
- lfn = $b8
- sa = $b9
- dev = $ba
- prgnadd = $bb
- prglodbk = $c6
- namebank = $c7
-
- charptr = $d0
-
- _
- _ Message display routine
- _
-
- messpntr = $66 _ length 2
-
- _
- _ NMI required locations
- _
-
- savestk = $68 _ length 1
-
- _
- _ Screen display routine
- _
-
- cursorx = $e4
- cursory = cursorx+1
- scradd = cursory+1
- add8 = scradd+2
- lineadd1 = add8+2
- lineadd2 = lineadd1+2
- line = lineadd2+2
- savex = line+1
- savey = savex+1
-
-
-
-
- _
- _ Other locations required
- _
-
- ldaset = $2aa _ LDAFAR routine
- staset = $2b9 _ STAFAR routine
- irqvec = $314
- nmivec = $318
- brkvec = $316
- char = $034a
- screen = $0400
- confreg = $ff00
-
- _ I/O registers
-
- vicirq = $d019
- vicena = $d01a
- ramconf = $d506
- page0low = $d507
- page0hi = $d508
- page1low = $d509
- page1hi = $d50a
- ciairq = $dc0d
- cianmi = $dd0d
-
- IEND
-
-