2008-10-09 07:24:49 +00:00
|
|
|
; Microsoft BASIC for 6502
|
2008-10-06 05:21:05 +00:00
|
|
|
|
2008-10-12 03:33:45 +00:00
|
|
|
.debuginfo +
|
|
|
|
|
2008-10-12 19:50:23 +00:00
|
|
|
.if .def(cbmbasic1)
|
2008-10-12 03:33:45 +00:00
|
|
|
CBM1 := 1
|
2008-10-12 20:17:43 +00:00
|
|
|
.include "defines_cbm.s"
|
2008-10-12 19:50:23 +00:00
|
|
|
.elseif .def(osi)
|
2008-10-12 03:33:45 +00:00
|
|
|
OSI := 1
|
2008-10-12 20:17:43 +00:00
|
|
|
.include "defines_osi.s"
|
2008-10-12 19:50:23 +00:00
|
|
|
.elseif .def(applesoft)
|
2008-10-12 03:33:45 +00:00
|
|
|
APPLE := 1
|
2008-10-12 20:17:43 +00:00
|
|
|
.include "defines_apple.s"
|
2008-10-12 19:50:23 +00:00
|
|
|
.elseif .def(kb9)
|
2008-10-12 03:33:45 +00:00
|
|
|
KIM := 1
|
2008-10-12 20:17:43 +00:00
|
|
|
.include "defines_kim.s"
|
2008-10-12 19:50:23 +00:00
|
|
|
.elseif .def(cbmbasic2)
|
2008-10-12 03:33:45 +00:00
|
|
|
CBM2 := 1
|
2008-10-12 20:17:43 +00:00
|
|
|
.include "defines_cbm.s"
|
2008-10-12 19:50:23 +00:00
|
|
|
.elseif .def(kbdbasic)
|
2008-10-12 03:33:45 +00:00
|
|
|
KBD := 1
|
2008-10-12 20:17:43 +00:00
|
|
|
.include "defines_kbd.s"
|
2008-10-12 01:32:09 +00:00
|
|
|
.endif
|
|
|
|
|
2008-10-12 19:54:16 +00:00
|
|
|
.ifdef CONFIG_SMALL
|
|
|
|
BYTES_FP := 4
|
|
|
|
.else
|
|
|
|
BYTES_FP := 5
|
2008-10-12 20:17:43 +00:00
|
|
|
.endif
|
2008-10-12 19:54:16 +00:00
|
|
|
|
2008-10-12 20:17:43 +00:00
|
|
|
.ifdef APPLE
|
|
|
|
BYTES_PER_ELEMENT := 6 ; ???
|
|
|
|
.else
|
|
|
|
BYTES_PER_ELEMENT := BYTES_FP
|
2008-10-12 19:54:16 +00:00
|
|
|
.endif
|
2008-10-12 20:43:37 +00:00
|
|
|
BYTES_PER_VARIABLE := BYTES_FP+2
|
2008-10-12 19:54:16 +00:00
|
|
|
MANTISSA_BYTES := BYTES_FP-1
|
2008-10-12 19:50:23 +00:00
|
|
|
BYTES_PER_FRAME := 2*BYTES_FP+8
|
|
|
|
FOR_STACK1 := 2*BYTES_FP+5
|
|
|
|
FOR_STACK2 := BYTES_FP+4
|
2008-10-12 01:32:09 +00:00
|
|
|
|
2008-10-12 20:17:43 +00:00
|
|
|
.ifdef CBM1
|
|
|
|
MAX_EXPON = 12
|
|
|
|
.else
|
|
|
|
MAX_EXPON = 10
|
|
|
|
.endif
|
|
|
|
|
|
|
|
|
2008-10-12 19:50:23 +00:00
|
|
|
.include "macros.s"
|
|
|
|
.include "zeropage.s"
|
2008-10-11 23:57:13 +00:00
|
|
|
|
2008-10-06 05:21:05 +00:00
|
|
|
.setcpu "6502"
|
2008-10-09 09:18:45 +00:00
|
|
|
.macpack longbranch
|
2008-10-06 05:21:05 +00:00
|
|
|
|
|
|
|
STACK := $0100
|
|
|
|
|
2008-10-11 17:10:12 +00:00
|
|
|
.segment "HEADER"
|
2008-10-08 05:07:59 +00:00
|
|
|
.ifdef KBD
|
|
|
|
jmp LE68C
|
|
|
|
.byte $00,$13,$56
|
|
|
|
.endif
|
|
|
|
|
2008-10-13 00:44:36 +00:00
|
|
|
.include "token.s"
|
2008-10-12 19:04:31 +00:00
|
|
|
|
2008-10-13 00:44:36 +00:00
|
|
|
.include "error.s"
|
2008-10-11 22:37:02 +00:00
|
|
|
|
2008-10-13 02:05:35 +00:00
|
|
|
.include "message.s"
|
2008-10-13 01:12:57 +00:00
|
|
|
|
2008-10-13 02:14:07 +00:00
|
|
|
.include "memory.s"
|
2008-10-13 02:05:35 +00:00
|
|
|
|
|
|
|
.include "program.s"
|
|
|
|
|
2008-10-13 02:14:07 +00:00
|
|
|
.include "flow.s"
|
2008-10-13 02:05:35 +00:00
|
|
|
|
2008-10-13 02:14:07 +00:00
|
|
|
.include "misc1.s"
|
2008-10-13 02:05:35 +00:00
|
|
|
|
2008-10-13 02:14:07 +00:00
|
|
|
.include "print.s"
|
2008-10-13 02:05:35 +00:00
|
|
|
|
|
|
|
.include "input.s"
|
|
|
|
|
|
|
|
.include "eval.s"
|
|
|
|
|
2008-10-13 02:14:07 +00:00
|
|
|
.include "var.s"
|
2008-10-13 02:05:35 +00:00
|
|
|
|
2008-10-13 01:43:59 +00:00
|
|
|
.include "array.s"
|
|
|
|
|
2008-10-13 02:14:07 +00:00
|
|
|
.include "misc2.s"
|
2008-10-13 01:43:59 +00:00
|
|
|
|
|
|
|
.include "string.s"
|
|
|
|
|
2008-10-13 02:14:07 +00:00
|
|
|
.include "misc3.s"
|
2008-10-13 01:43:59 +00:00
|
|
|
|
2008-10-13 02:14:07 +00:00
|
|
|
.ifndef KBD
|
|
|
|
.include "poke.s"
|
2008-10-08 07:04:03 +00:00
|
|
|
.endif
|
2008-10-12 21:39:54 +00:00
|
|
|
|
|
|
|
.include "float.s"
|
|
|
|
|
2008-10-13 00:27:11 +00:00
|
|
|
.include "chrget.s"
|
2008-10-12 21:39:54 +00:00
|
|
|
|
2008-10-13 00:11:02 +00:00
|
|
|
.include "rnd.s"
|
2008-10-12 21:39:54 +00:00
|
|
|
|
2008-10-13 00:11:02 +00:00
|
|
|
.include "trig.s"
|
2008-10-12 21:39:54 +00:00
|
|
|
|
2008-10-13 00:27:11 +00:00
|
|
|
.include "init.s"
|