@@ -37,6 +37,7 @@ CA65_ROM=-DNO_SMCODE
3737# Flags added to assembly sources for Floating Point / Integer compilers:
3838CA65_FP_FLAGS =-D FASTBASIC_FP -I build/gen/fp $(CA65_FLAGS )
3939CA65_INT_FLAGS =-I build/gen/int $(CA65_FLAGS )
40+ CA65_A5200_FLAGS =-g -t atari5200 -I cc65/asminc -I src -DNO_SMCODE
4041
4142# Flags for the LD65 linker
4243LD65_FLAGS =-Ccompiler/fastbasic.cfg
@@ -100,6 +101,7 @@ LIB_INT=build/compiler/fastbasic-int.lib
100101LIB_FP =build/compiler/fastbasic-fp.lib
101102LIB_ROM_INT =build/compiler/fastbasic-cart-int.lib
102103LIB_ROM_FP =build/compiler/fastbasic-cart-fp.lib
104+ LIB_A5200 =build/compiler/fastbasic-5200.lib
103105
104106# Sample programs
105107SAMPLE_FP_BAS =\
@@ -146,6 +148,7 @@ AS_FOLDERS=\
146148 src/interp/a800\
147149 src/interp/atari\
148150 src/interp/atarifp\
151+ src/interp/a5200\
149152
150153# ASM files used in the RUNTIME
151154RT_AS_SRC =\
@@ -211,14 +214,15 @@ BASE_AS_SRC=\
211214 src/interp/pop.asm\
212215 src/interp/print_str.asm\
213216 src/interp/push.asm\
217+ src/interp/put.asm\
218+ src/interp/putbyte.asm\
214219 src/interp/return.asm\
215220 src/interp/saddr.asm\
216221 src/interp/sgn.asm\
217222 src/interp/shl8.asm\
218223 src/interp/strindex.asm\
219224 src/interp/ushl.asm\
220225 src/interp/usr.asm\
221- src/interp/val.asm\
222226 src/interp/varadd.asm\
223227 src/interp/varaddr.asm\
224228 src/interp/varstore.asm\
@@ -228,6 +232,8 @@ ATARI_AS_SRC=\
228232 src/interp/atari/color.asm\
229233 src/interp/atari/pause.asm\
230234 src/interp/atari/pmgraphics.asm\
235+ src/interp/atari/position.asm\
236+ src/interp/atari/print_tab.asm\
231237 src/interp/atari/rand.asm\
232238 src/interp/atari/soundoff.asm\
233239 src/interp/atari/time.asm\
@@ -241,13 +247,10 @@ A800_AS_SRC=\
241247 src/interp/a800/graphics.asm\
242248 src/interp/a800/input.asm\
243249 src/interp/a800/iochn.asm\
244- src/interp/a800/position.asm\
245- src/interp/a800/print_tab.asm\
246- src/interp/a800/put.asm\
247- src/interp/a800/putbyte.asm\
248250 src/interp/a800/putchar.asm\
249251 src/interp/a800/str.asm\
250252 src/interp/a800/streol.asm\
253+ src/interp/a800/val.asm\
251254 src/interp/a800/xio.asm\
252255
253256# FP Interpreter ASM files
@@ -283,6 +286,19 @@ A800_FP_AS_SRC=\
283286 src/interp/atarifp/fpmain.asm\
284287 src/interp/atarifp/mul6.asm\
285288
289+ # Atari 5200 specific code
290+ A5200_AS_SRC =\
291+ $(BASE_AS_SRC ) \
292+ $(ATARI_AS_SRC ) \
293+ src/a5200cart.asm\
294+ src/interp/a5200/drawto.asm\
295+ src/interp/a5200/getkey.asm\
296+ src/interp/a5200/graphics.asm\
297+ src/interp/a5200/input.asm\
298+ src/interp/a5200/putchar.asm\
299+ src/interp/a5200/str.asm\
300+ src/interp/a5200/val.asm\
301+
286302# BAS editor source
287303IDE_BAS_SRC =\
288304 src/editor.bas\
@@ -304,6 +320,7 @@ A800_FP_ROM_OBJS=$(A800_FP_AS_SRC:src/%.asm=build/obj/rom-fp/%.o)
304320RT_OBJS_INT=$(RT_AS_SRC:src/%.asm =build/obj/int/%.o)
305321IDE_OBJS_INT=$(IDE_AS_SRC:src/%.asm =build/obj/int/%.o)
306322A800_OBJS=$(A800_AS_SRC:src/%.asm =build/obj/int/%.o)
323+ A5200_OBJS=$(A5200_AS_SRC:src/%.asm =build/obj/a5200/%.o)
307324IDE_BAS_OBJS_INT=$(IDE_BAS_SRC:src/%.bas =build/obj/int/%.o)
308325SAMP_OBJS=$(SAMPLE_BAS:%.bas =build/obj/%.o)
309326RT_OBJS_ROM_INT=$(RT_AS_SRC:src/%.asm =build/obj/rom-int/%.o)
@@ -315,7 +332,9 @@ COMPILER_COMMON=\
315332 $(LIB_FP ) \
316333 $(LIB_ROM_INT ) \
317334 $(LIB_ROM_FP ) \
335+ $(LIB_A5200 ) \
318336 build/compiler/fastbasic.cfg\
337+ build/compiler/fastbasic-a5200.cfg\
319338 build/compiler/fastbasic-cart.cfg\
320339 build/compiler/fb$(EXT ) \
321340 build/compiler/fb-int$(EXT ) \
@@ -325,16 +344,23 @@ COMPILER_COMMON=\
325344 build/compiler/asminc/atari_antic.inc\
326345 build/compiler/asminc/atari_gtia.inc\
327346 build/compiler/asminc/atari.inc\
347+ build/compiler/asminc/atari5200.inc\
328348 build/compiler/asminc/atari_pokey.inc\
349+ build/compiler/asminc/target.inc\
350+ build/compiler/syntax/a5200.syn\
351+ build/compiler/syntax/a800.syn\
329352 build/compiler/syntax/basic.syn\
330353 build/compiler/syntax/dli.syn\
331354 build/compiler/syntax/extended.syn\
332355 build/compiler/syntax/fileio.syn\
333356 build/compiler/syntax/float.syn\
334357 build/compiler/syntax/graphics.syn\
358+ build/compiler/syntax/gr-a5200.syn\
335359 build/compiler/syntax/pm.syn\
336360 build/compiler/syntax/sound.syn\
361+ build/compiler/a5200.tgt\
337362 build/compiler/a800.tgt\
363+ build/compiler/atari-5200.tgt\
338364 build/compiler/atari-cart-fp.tgt\
339365 build/compiler/atari-cart-int.tgt\
340366 build/compiler/atari-fp.tgt\
@@ -536,6 +562,7 @@ SYNTAX_PARSER_SRC=\
536562
537563# Syntax files for integer version
538564SYNTAX_INT =\
565+ src/syntax/a800.syn\
539566 src/syntax/basic.syn\
540567 src/syntax/dli.syn\
541568 src/syntax/fileio.syn\
@@ -596,6 +623,7 @@ BUILD_FOLDERS=\
596623 $(AS_FOLDERS:src%=build/obj/int% ) \
597624 $(AS_FOLDERS:src%=build/obj/rom-fp% ) \
598625 $(AS_FOLDERS:src%=build/obj/rom-int% ) \
626+ $(AS_FOLDERS:src%=build/obj/a5200% ) \
599627 build/bin\
600628 build/compiler/asminc\
601629 build/compiler/syntax\
0 commit comments